{"id":28044504,"url":"https://github.com/samuelsonric/mathoptchordaldecomposition.jl","last_synced_at":"2025-10-18T04:42:33.395Z","repository":{"id":291128653,"uuid":"976280161","full_name":"samuelsonric/MathOptChordalDecomposition.jl","owner":"samuelsonric","description":null,"archived":false,"fork":false,"pushed_at":"2025-05-02T15:38:24.000Z","size":2,"stargazers_count":1,"open_issues_count":2,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-02T15:50:12.216Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Julia","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/samuelsonric.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-05-01T20:30:36.000Z","updated_at":"2025-05-02T15:38:27.000Z","dependencies_parsed_at":"2025-05-02T15:50:14.691Z","dependency_job_id":"543e7b6f-ca6b-4e61-9fc9-87c15642598e","html_url":"https://github.com/samuelsonric/MathOptChordalDecomposition.jl","commit_stats":null,"previous_names":["samuelsonric/mathoptchordaldecomposition.jl"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samuelsonric%2FMathOptChordalDecomposition.jl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samuelsonric%2FMathOptChordalDecomposition.jl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samuelsonric%2FMathOptChordalDecomposition.jl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samuelsonric%2FMathOptChordalDecomposition.jl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/samuelsonric","download_url":"https://codeload.github.com/samuelsonric/MathOptChordalDecomposition.jl/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253601034,"owners_count":21934248,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-05-11T17:11:12.751Z","updated_at":"2025-10-18T04:42:33.387Z","avatar_url":"https://github.com/samuelsonric.png","language":"Julia","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MathOptChordalDecomposition.jl\n\n[![CI](https://github.com/samuelsonric/MathOptChordalDecomposition.jl/actions/workflows/ci.yml/badge.svg)](https://github.com/samuelsonric/MathOptChordalDecomposition.jl/actions/workflows/ci.yml)\n[![codecov](https://codecov.io/gh/samuelsonric/MathOptChordalDecomposition.jl/graph/badge.svg?token=z67ISx3vkD)](https://codecov.io/gh/samuelsonric/MathOptChordalDecomposition.jl)\n\nMathOptChordalDecomposition.jl is a [MathOptInterface.jl](https://github.com/jump-dev/MathOptInterface.jl)\nlayer that implements chordal decomposition of sparse semidefinite constraints.\n\n## Getting help\n\nIf you need help, please ask a question on the [JuMP community forum](https://jump.dev/forum).\n\nIf you have a reproducible example of a bug, please [open a GitHub issue](https://github.com/samuelsonric/MathOptChordalDecomposition.jl/issues/new).\n\n## License\n\n`MathOptChordalDecomposition.jl` is licensed under the\n[MIT License](https://github.com/samuelsonric/MathOptChordalDecomposition.jl/blob/master/LICENSE).\n\n## Installation\n\nInstall MathOptChordalDecomposition as follows:\n```julia\nimport Pkg\nPkg.add(\"MathOptChordalDecomposition\")\n```\n\n## Use with JuMP\n\nTo use MathOptChordalDecomposition with JuMP, use `MathOptChordalDecomposition.Optimizer`:\n\n```julia\nusing JuMP, MathOptChordalDecomposition, SCS\nmodel = Model(() -\u003e MathOptChordalDecomposition.Optimizer(SCS.Optimizer))\n```\nChange `SCS` for any other conic solver that supports semidefinite constraints.\n\n## Basic Usage\n\nThe `sdplib` directory contains four semidefinite programming problems from the\n[SDPLIB library](https://github.com/vsdp/SDPLIB).\n\nThe function `main`, defined below, reads one of the problems and\nconstructs a [JuMP.jl](https://github.com/jump-dev/JuMP.jl) model.\n\nFor this example, it is significantly faster to solve the problem with \nMathOptChordalDecomposition than to use SCS by itself:\n\n```julia\njulia\u003e using FileIO, JLD2, JuMP, LinearAlgebra, SCS\n\njulia\u003e import MathOptChordalDecomposition as MOCD\n\njulia\u003e function main(optimizer, name::String)\n           data = FileIO.load(\"./sdplib/$name.jld2\");\n           F, c, m, n = data[\"F\"], data[\"c\"], data[\"m\"], data[\"n\"]    \n           model = Model(optimizer)\n           set_silent(model)\n           @variable(model, x[1:m])\n           @objective(model, Min, c' * x)\n           @constraint(\n               model,\n               con,\n               LinearAlgebra.Symmetric(-F[1] + x' * F[2:end]) in PSDCone(),\n           )\n           optimize!(model)\n           return objective_value(model)\n       end\nmain (generic function with 1 method)\n\njulia\u003e @time main(SCS.Optimizer, \"mcp124-1\")\n  9.447474 seconds (154.70 k allocations: 12.313 MiB)\n141.96561765120785\n\njulia\u003e @time main(() -\u003e MOCD.Optimizer(SCS.Optimizer), \"mcp124-1\")\n  0.245992 seconds (170.72 k allocations: 15.103 MiB, 1.85% compilation time)\n141.9887372030578\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsamuelsonric%2Fmathoptchordaldecomposition.jl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsamuelsonric%2Fmathoptchordaldecomposition.jl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsamuelsonric%2Fmathoptchordaldecomposition.jl/lists"}