根据矩阵约束求解最小化?

时间:2017-07-06 16:16:20

标签: python numpy matrix optimization scipy

我有一个矩阵"最小化",我希望在第2列的总和必须等于0的约束条件下最小化第1列。第二个约束是行必须仅在第二列不等于零。如何最小化矩阵的第一列"最小化",受限于相应行值的第二列必须等于零?

minimize = np.array([[-10,  0]
                     [-7,  -1]
                     [-5,   1]
                     [-3,   0]
                     [ 0,   1])

我正在最小化矩阵的第一列"最小化",受限于第二列必须等于0.因此,最优解应该等于-12 as(-7 + - 5 = -12,对于第二列等于约束-1 + 1 = 0)。

def objective_function(x):
    column_sum = 0
    for row in x:
        column_sum += sum(x[0])
    return column_sum  

def con(x):
    sum = 0
    for row in x:
        sum += sum(x[1])
    return sum

def con1(x):
    sum1 = 0
    for row in x:
        sum1 += 1 - sum(x[1])
    return sum1

其中"缺点"等于约束:

cons = (
        {'type': 'eq', 'fun': con}
        {'type': 'ineq', 'fun': con1}
)

x0 = [-10]

scipy.optimize.minimize(objective_function, x0, constraints=cons)

0 个答案:

没有答案