0-1规划的MATLAB求解

0-1规划问题的MATLAB标准型

在这里插入图片描述

1、在上述模型中,目标函数f 需要 “极小化”,不等式约束形式为 “≤”。假设x为n维设计变量,且线性规划问题具有不等式约束m1个,等式约束m2个,那么:c、x均为n维列向量,b为m1维列向量,beq为m2维列向量,A为m1×n维矩阵,Aeq为m2×n维矩阵。

2、如果不满足标准型的要求,则需要对原问题进行转化,化为标准型之后才能使用相关函数,标准化的方法和线性规划中的类似

0-1规划问题的MATLAB求解函数

MATLAB优化工具箱中求解0-1规划问题的命令为bintprog

 x = bintprog(f)
   x = bintprog(f,A,b)
   x = bintprog(f,A,b,Aeq,beq)
   x = bintprog(f,A,b,Aeq,beq,x0)
   x = bintprog(f,A,b,Aeq,Beq,x0,options)
   [x,fval] = bintprog(...)
   [x,fval,exitflag] = bintprog(...)
   [x,fval,exitflag,output] = bintprog(...)

输入参数

MATLAB工具箱中的bintprog函数在求0-1规划问题时,提供的参数有如下几种:
模型参数: x、c、b、beq、A和Aeq
初始解参数:x0
算法控制参数: options,我们可以通过optimset命令对这些具体的控制参数进行设置,其中主要参数的设置方法如下所示:
在这里插入图片描述

输出参数

1、x为0-1规划问题的最优解
2、fval为0-1规划问题在最优解x处的函数值
3、exitflag返回的是bintprog计算终止时的状态指示,说明算法终止的原因,其取值和其代表的具体原因如表所示。
4、输出参数output是一个返回优化过程中相关信息的结构变量,它所包含的属性及属性代表的意义如表所示。

参数exitflag的物理意义

在这里插入图片描述

参数output所包含的信息

在这里插入图片描述

0-1规划问题的命令详解

x = bintprog(f)   %该函数调用格式求解如下形式的0-1规划问题 

在这里插入图片描述

x = bintprog(c,A,b) %该函数调用格式求解如下形式的0-1规划问题

在这里插入图片描述

x = bintprog (c,A,b,Aeq,beq)  %该函数调用格式求解如下形式的0-1规划问题

在这里插入图片描述

x = bintprog (c,A,b,Aeq,beq,x0) %    在前一个调用格式的基础上同时设置求解算法的初始解为x0,
如果初始解x0不在0-1规划问题的可行域中,算法将采用默认的初始解
 x = bintprog (c,A,b,Aeq,beq,x0,options) %   用options指定的优化参数进行最小化.
 可以使用optimset来设置这些参数 
[x,fval] = bintprog(...)  % 在优化计算结束之时返回整数规划问题在解x处的目标函数值fval 
[x,fval,exitflag] = bintprog(...) %   在优化计算结束之时返回exitflag值,
描述函数计算的退出条件。 
[x,fval,exitflag,output] = bintprog(...)`%  在优化计算结束之时返回结构变量output 

实例

在这里插入图片描述
c=[20;6;8;9];
A=[-10 -6 -5 -2; -7 -2 -2 -4; -2 -1 -1 -10; 0 1 1 -1];b=[-4;-4;-2;1];
lb=[0;0;0;0];ub=[1;1;1;1];
M=1:4; %均要求为整数变量
Tol=1e-8; %判断是否整数的误差限
[x,fval]=intprog(c,A,b,[],[],lb,ub,M,Tol) %调用intprog函数
[x1,fval1]=bintprog(c,A,b) %调用bintprog函数

注:整数问题或是0-1规划问题和线性规划问题都可用matlab自带的 “intprog”工 具箱来解决,是通用的。

  • 18
    点赞
  • 125
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

华毓

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值