【发布时间】:2021-03-07 04:32:29
【问题描述】:
import numpy as np
import scipy.optimize
import gurobipy as gp
halfspaces = np.array([[-0.513574, 0.858045 , 0,1.99106]
,[0.513574 ,-0.858045 , -0,2.00894]
,[-0.856348 , -0.512558, -0.0628725, 3.28365]
,[ 0.856348 , 0.512558 , 0.0628725,-0.402219]
,[0.0539475 , 0.0322897 ,-0.998022,-0.928943]
,[-0.0539475 ,-0.0322897 , 0.998022,2.92894]
,[-0.853709 , -0.509332 , -0.108451,0.0116693]])
A = halfspaces[:,0:3]
b = halfspaces[:,-1]
def objective(c):
d = np.dot(A,c)-b
d=np.where(d<=-1e-15, d, d+1.0)
return np.max([0, np.max(d)])
c = np.dot(np.linalg.pinv(A), b)
c = scipy.optimize.fmin(func=objective, x0=c)
我需要转换成 Gurobi,但我还没有找到将目标定义为函数的方法。 Here 表示尚不支持。有人可以告诉我有什么解决方法吗?或者这还没有实现。
【问题讨论】:
-
可能值得在 Gurobi 论坛链接上提出这个问题
标签: python numpy optimization gurobi