PS:为了计算一个优化问题,特地去学习cvxpy库。确实好用,推荐大家!
Linear program(线性规划)
标准形式:-A linear program is an optimization problem with a linear objective and affine inequality constraints.
#Example -Linear program
import cvxpy as cp
import numpy as np
#problem data
m,n = 10,15
np.random.seed(1)
A = np.random.randn(m,n)
b = np.random.randn(m)
C = np.random.randn(n)
#problem variable
x = cp.Variable(n)
#objective
objective = cp.Minimize(C.T@x)
#print(objective.is_dcp())
#constraints
constraints = [A@x<=b]
#problem
prob = cp.Problem(objective,constraints)
#solve
prob.solve(solver = cp.SCS,verbose = True)
#expression
print('x = ',x.value)
print('Min-Value = ',prob.value)