首页 > 解决方案 > 将 Python 的 CVXOPT 中的线性规划问题转换为 MATLAB 的 linprog

问题描述

我正在努力将以下线性规划公式转换为 MATLAB 的 linprog。我想知道是否有人可以帮助我将输入从 cvxopt 转换为 matlab linprog?

Python cvxopt 原文:

import numpy as np
from cvxopt import matrix, solvers

A = np.array(  [[ 1., 1., 1., 1., 1., -1.],
                [ 1., 1., 1., 1., 1., -1.],
                [ 1., 1., 1., 1., 1., -1.],
                [ 1., 1., 1., 1., 1., -1.],
                [ 1., 1., 1., 1., 1., -1.],
                [ 1., 0., 0., 0., 0.,  0.],
                [ 0., 1., 0., 0., 0.,  0.],
                [ 0., 0., 1., 0., 0.,  0.],
                [ 0., 0., 0., 1., 0.,  0.],
                [ 0., 0., 0., 0., 1.,  0.],
                [ 1., 1., 1., 1., 1.,  0.],
                [-1.,-1.,-1.,-1.,-1.,  0.]])


A = matrix(A)
b = matrix([0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 1., -1.])
c = matrix([0., 0., 0., 0., 0., 1.])

sol=solvers.lp(-c,-A,-b)
result = np.array(sol['x'])
print(result[0:5])

这会产生以下结果:

Optimal solution found.
[[0.2]
 [0.2]
 [0.2]
 [0.2]
 [0.2]]

我似乎无法弄清楚如何将这些等式/不等式和约束转换为 MATLAB 的 linprog 求解器。任何人都可以帮忙吗?

标签: matlablinear-programmingcvxopt

解决方案


推荐阅读