带非线性规划求解器的线性规划

版本1.0(20.1 KB)由 约翰·赫登伦
与linprog接口类似,但使用非线性编程求解器(如IPOPT)解决方案
705下载
已更新2015年2月9日

查看许可证

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
结束

引用为

John Hedengren(2024)。带非线性规划求解器的线性规划(https://www.mathworks.com/matlabcentral/fileexchange/49595-linear-programming-with-nonlinear-progremming-solvers网站),MATLAB中央文件交换。恢复.

MATLAB版本兼容性
使用创建2014亿南非兰特
与任何版本兼容
平台兼容性
窗户 macOS操作系统 Linux操作系统
类别
在上查找更多信息线性规划与混合整数线性规划在里面帮助中心MATLAB答案

社区寻宝

在MATLAB Central中查找宝藏,了解社区如何帮助您!

开始狩猎!
版本 出版 发行说明
1