apm_linprog线性规划。
y=apm_linprog(f,A,b,Aeq,beq,LB,UB,X0)用APMonitor建模语言编写线性规划模型,并尝试解决线性规划问题:
最小f'*x服从:A*x<=b,Aeq*x=beq
x个
lb和ub是设计变量x的一组上界和下界,因此解在lb<=x<=ub范围内。对任何参数使用空矩阵。如果x(i)没有下限,则设置lb(i)=-1e20;如果x(i)没有上限,则设置ub(i)=1e20。x0是x的初始猜测和起点。这与Matlab linprog解算器类似,但使用不同的解算器,如IPOPT、APOPT和BPOPT来解算LP。额外的非线性约束可以添加到lp.apm模型中,用于非线性规划解决方案,并支持可能的混合整数变量。
解决方案在结构y中返回,其中包含y.names(变量名)、y.values(变量值)、y.nvar(变量数)和y.x(包含每个变量和值的结构)。
示例用法如下:
全部清除;全部关闭;clc公司
addpath('apm')
%示例线性程序
f=[-5;-4;-6];
A=[1-11
3 2 4
3 2 0];
b=[20;42;30];
Aeq=[];
beq=[];
lb=零(3,1);
ub=[];
x0=[];
%生成并求解APMonitor LP模型
y1=apm_linprog(f,A,b,Aeq,beq,lb,ub,x0);
%比较linprog(MATLAB)的解决方案
y2=linprog(f,A,b,Aeq,beq,lb,ub,x0);
disp(“使用MATLAB linprog验证结果”)
对于i=1:max(大小(f)),
显示(['x['int2str(i)']:'num2str
结束