为了账号安全,请及时绑定邮箱和手机立即绑定

Python中的混合整数二次规划

Python中的混合整数二次规划

叮当猫咪 2021-10-26 10:38:23
我想在 Python 中解决以下 Python 中的混合整数二次规划。尽管如此,我对 Python 的优化工具箱并不熟悉。有人可以提供一个带有向量 X1、X2、X3、X4 的代码示例,如下所示?X1 = np.array([3,10,20,10])X2 = np.array([5,1,3,4])X3 = np.array([2,3,1,4])X4 = np.array([10,0,1,2])我试图用 CVXPY 解决它,但我遇到了布尔变量的问题x = cp.Variable(1, boolean=True):import numpyimport numpy as npimport cvxpy as cpX1 = np.array([3,10,20,10])X2 = np.array([5,1,3,4])X3 = np.array([2,3,1,4])X4 = np.array([10,0,1,2])M = 100x = cp.Variable(1, boolean=True)Y1 = cp.Parameter(4)Y2 = cp.Parameter(4)a = cp.Parameter(1)b = cp.Parameter(1)c = cp.Parameter(1)d = cp.Parameter(1)delta = cp.Variable(1)constraints = [Y1 <= X1 - a,            Y1 <= X2 - b,            Y1 >= X1 - a - M*delta,           Y1 >= X2 - b - M*(1-delta),           Y2 <= X3 - c,            Y2 <= X4 - d,            Y2 >= X3 - c - M*delta,           Y2 >= X4 - d - M*(1-delta),           0 <= a, a <= 10,           0 <= b, b <= 5,           0 <= c, c <= 5,           0 <= d, d <= 10,           delta == x]obj = cp.Minimize(cp.sum_squares(Y1-Y2))prob = cp.Problem(obj, constraints)print(prob.solve())
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 404 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信