{"id":26123454,"url":"https://github.com/cvxgrp/cocp","last_synced_at":"2025-04-13T14:34:46.330Z","repository":{"id":72066508,"uuid":"229127824","full_name":"cvxgrp/cocp","owner":"cvxgrp","description":"Source code for the examples accompanying the paper \"Learning convex optimization control policies.\"","archived":false,"fork":false,"pushed_at":"2022-11-14T17:25:56.000Z","size":3597,"stargazers_count":84,"open_issues_count":3,"forks_count":16,"subscribers_count":16,"default_branch":"master","last_synced_at":"2025-03-27T05:34:44.907Z","etag":null,"topics":["control-systems","convex-optimization","differentiable-programming","learning"],"latest_commit_sha":null,"homepage":null,"language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cvxgrp.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2019-12-19T19:49:34.000Z","updated_at":"2025-03-13T16:13:59.000Z","dependencies_parsed_at":null,"dependency_job_id":"62486e46-aa66-4aec-befe-1a539984c23a","html_url":"https://github.com/cvxgrp/cocp","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cvxgrp%2Fcocp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cvxgrp%2Fcocp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cvxgrp%2Fcocp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cvxgrp%2Fcocp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cvxgrp","download_url":"https://codeload.github.com/cvxgrp/cocp/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248728709,"owners_count":21152281,"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":["control-systems","convex-optimization","differentiable-programming","learning"],"created_at":"2025-03-10T15:53:17.186Z","updated_at":"2025-04-13T14:34:46.311Z","avatar_url":"https://github.com/cvxgrp.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"Learning convex optimization control policies\n=============================================\n\nThis repository accompanies the paper [Learning convex optimization control policies](http://web.stanford.edu/~boyd/papers/pdf/learning_cocps.pdf). It contains the source code for the examples therein as IPython notebooks.\n\nOur examples make use the Python package\n[cvxpylayers](https://github.com/cvxgrp/cvxpylayers) to differentiate through\nconvex optimization problems.\n\n## Abstract\nMany control policies used in various applications determine the input or\naction by solving a convex optimization problem that depends on the current\nstate and some parameters. These types of control policies are tuned by varying\nthe parameters in the optimization problem, such as the linear quadratic\nregulator weights, to obtain good performance, judged by application-specific\nmetrics. Our paper introduces a method to automate this process, by adjusting\nthe parameters using an approximate gradient of the performance metric with\nrespect to the parameters. Our procedure relies on recently developed methods\nthat can efficiently evaluate the derivative of the solution of a convex\noptimization problem with respect to its parameters.\n\n## Citing\n```\n@article{agrawal2019cocp,\n    author       = {Agrawal, Akshay and Barratt, Shane and Boyd, Stephen and Stellato, Bartolomeo},\n    title        = {Learning Convex Optimization Control Policies},\n    journal      = {arXiv},\n    archivePrefix = {arXiv},\n    eprint = {1912.09529},\n    primaryClass = {math.OC},\n    year    = {2019},\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcvxgrp%2Fcocp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcvxgrp%2Fcocp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcvxgrp%2Fcocp/lists"}