Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python CVXOPT+;GLPK-从LP解中提取拉格朗日乘子_Python_Linear Programming_Glpk_Cvxopt - Fatal编程技术网

Python CVXOPT+;GLPK-从LP解中提取拉格朗日乘子

Python CVXOPT+;GLPK-从LP解中提取拉格朗日乘子,python,linear-programming,glpk,cvxopt,Python,Linear Programming,Glpk,Cvxopt,我正在尝试使用CVXOPT的solvers.lp和GLPK来解决一个具有不等式和等式约束的通用优化问题 一切正常,但我无法提取拉格朗日乘数 这是我的代码: #将numpy矩阵转换为cvxopt矩阵 c=cvxopt.矩阵(c)#(2666x4) A_in=cvxopt.矩阵(A_in) b_in=cvxopt.矩阵(b_in) A_eq=cvxopt.矩阵(A_eq) b_eq=cvxopt.矩阵(b_eq) #设置glpk优化程序设置 选项['glpk']={'msg_lev':'GLP_ms

我正在尝试使用CVXOPT的
solvers.lp
和GLPK来解决一个具有不等式和等式约束的通用优化问题

一切正常,但我无法提取拉格朗日乘数

这是我的代码:

#将numpy矩阵转换为cvxopt矩阵
c=cvxopt.矩阵(c)#(2666x4)
A_in=cvxopt.矩阵(A_in)
b_in=cvxopt.矩阵(b_in)
A_eq=cvxopt.矩阵(A_eq)
b_eq=cvxopt.矩阵(b_eq)
#设置glpk优化程序设置
选项['glpk']={'msg_lev':'GLP_msg_OFF'}
cvxopt.solvers.options['msg\u lev']='GLP\u msg\u OFF'
cvxopt.solvers.options['LP_K_MSGLEV']=0
cvxopt.solvers.options['Absol']=1e-3
cvxopt.solvers.options['reltol']=1e-2
cvxopt.solvers.options['feastol']=1
cvxopt.solvers.options['definition']=1
#使用glpk解决问题
res=cvxopt.solvers.lp(c,A_-in,b_-in,A=A_-eq,b=b_-eq,solver='glpk')
返回:

res = {
 'dual infeasibility': 3.405900733836188e-17,
 'dual objective': -146734334.08,
 'dual slack': -0.0,
 'gap': 0.0,
 'primal infeasibility': 9.663381206337363e-12,
 'primal objective': -146734334.08,
 'primal slack': 0.0,
 'relative gap': 0.0,
 'residual as dual infeasibility certificate': None,
 'residual as primal infeasibility certificate': None,
 's': <5367x1 matrix, tc='d'>,
 'status': 'optimal',
 'x': <2666x1 matrix, tc='d'>,
 'y': <1x1 matrix, tc='d'>,
 'z': <5367x1 matrix, tc='d'>
}

查看
res
y
z
部分;他们是二人组,我知道。因为我来自MATLAB,他们和lambda有什么关系?我知道
lambda.eqlin=y
,那么
lambda.ineqlin
z
是如何联系的?它们是一样的。看看
y
z
部分
res
;他们是二人组,我知道。因为我来自MATLAB,他们和lambda有什么关系?我知道
lambda.eqlin=y
,那么
lambda.ineqlin
z
是如何关联的呢?它们是一样的。