Skip to content

Instantly share code, notes, and snippets.

@skipperkongen
Last active November 24, 2021 12:44
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save skipperkongen/5639b57faafa053ab6dbdbdc9a01612a to your computer and use it in GitHub Desktop.
Save skipperkongen/5639b57faafa053ab6dbdbdc9a01612a to your computer and use it in GitHub Desktop.
Shadow prices in CVXOPT
import cvxpy as cp
import numpy as np
# Problem data
m = 30
n = 20
np.random.seed(1)
A = np.random.randn(m, n)
b = np.random.randn(m)
# Construct the problem.
x = cp.Variable(n)
objective = cp.Minimize(cp.sum_squares(A @ x - b))
constraints = [0 <= x, x <= 1]
prob = cp.Problem(objective, constraints)
# The optimal objective value is returned by `prob.solve()`.
result = prob.solve()
# The optimal value for x is stored in `x.value`.
print(x.value)
# The optimal Lagrange multiplier for a constraint is stored in
# `constraint.dual_value`.
print(constraints[0].dual_value)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment