Constrained optimisation — feasibility and optimality
Organise a smooth constrained optimisation problem around objective, constraints, feasible candidates and optimality checks. KKT conditions require suitable constraint qualifications and are not sufficient for arbitrary non-convex problems.
Rendering…
What this template contains
- Source
- 24 lines
Make it your own.
{
"nodes": [
{ "id": "f", "type": "rounded", "label": "Objective function", "x": 40, "y": 40, "width": 150, "height": 104, "fill": "#ede9fe", "stroke": "#6d28d9" },
{ "id": "g", "type": "rounded", "label": "Equality / inequality constraints", "x": 40, "y": 360, "width": 150, "height": 104, "fill": "#ede9fe", "stroke": "#6d28d9" },
{ "id": "feas", "type": "rounded", "label": "Feasible region", "x": 215, "y": 200, "width": 150, "height": 104, "fill": "#fef3c7", "stroke": "#b45309" },
{ "id": "lag", "type": "rounded", "label": "Lagrangian construction", "x": 390, "y": 200, "width": 150, "height": 104, "fill": "#fef3c7", "stroke": "#b45309" },
{ "id": "stat", "type": "card", "label": "Stationarity", "x": 565, "y": 40, "width": 150, "height": 104, "fill": "#ccfbf1", "stroke": "#0f766e" },
{ "id": "slack", "type": "card", "label": "Feasibility and complementarity", "x": 565, "y": 360, "width": 150, "height": 104, "fill": "#ccfbf1", "stroke": "#0f766e" },
{ "id": "qual", "type": "octagon", "label": "Constraint qualifications", "x": 390, "y": 520, "width": 150, "height": 104, "fill": "#e0f2fe", "stroke": "#0369a1" },
{ "id": "cand", "type": "rounded", "label": "Candidate solutions", "x": 740, "y": 200, "width": 150, "height": 104, "fill": "#fef3c7", "stroke": "#b45309" },
{ "id": "glob", "type": "rounded", "label": "Convexity / global comparison", "x": 915, "y": 200, "width": 150, "height": 104, "fill": "#fce7f3", "stroke": "#be185d" }
],
"edges": [
{ "id": "e0", "source": "f", "target": "lag", "label": "objective" },
{ "id": "e1", "source": "g", "target": "feas", "label": "define" },
{ "id": "e2", "source": "feas", "target": "lag", "label": "constrained problem" },
{ "id": "e3", "source": "lag", "target": "stat", "label": "differentiate" },
{ "id": "e4", "source": "lag", "target": "slack", "label": "KKT components" },
{ "id": "e5", "source": "qual", "target": "cand", "label": "validity conditions", "style": "dashed" },
{ "id": "e6", "source": "stat", "target": "cand", "label": "solve together" },
{ "id": "e7", "source": "slack", "target": "cand", "label": "solve together" },
{ "id": "e8", "source": "cand", "target": "glob", "label": "classify solution" }
]
}