第二天Matlab打卡——整数规划

文章目录

(1)题目

1.线性规划求解实现与代码

(2)分支定界求解

一、题目

(1)题目

在这里插入图片描述

 用线性回归求该解问题,具体求解代码如下:

format short    %设置显示模式,short为十进制4位的浮点小数;
>> z=[40 90];    %所求问题左边未知数系数,即限制条件
>> a=[9 7;7 20];    %不等式左边限制条件
>> b=[56 70];    %不等式右边限制条件
>> aeq=[];    %等式左边限制条件,由于无等式,所以为空矩阵;
>> beq=[];    %等式右边限制条件,由于无等式,所以为空矩阵;
>> lb=[0;0];    %变量x1,x2的下限
>> ub=[inf;inf];    %变量x1,x2的上限,inf代表无穷大
>> [x,fval]=linprog(-z,a,b,aeq,beq,lb,ub)    %x是一个2*1的矩阵,z取最大值对应x1,x2的值

Optimal solution found.

x =
    4.8092
    1.8168
fval =
 -355.8779
>> best=z*x    %求得最优解
best =
  355.8779

(2)分支定界求解

对x1进行分支定界:

在这里插入图片描述

对x1<=4部分

0<=x1<=4

代码实现如下:

>> z=[40 90];
>> a=[9,7;7,20];
b=[56;70];
aeq=[];
beq=[];
>> lb=[0;0];
>> ub=[4;inf];
>> [x,fval]=linprog(-z,a,b,aeq,beq,lb,ub)

Optimal solution found.

x =
    4.0000
    2.1000
fval =
  -349
>> best=z*x
best =
   349

对x1>=5部分

>> z=[40 90];
a=[9,7;7,20];
b=[56;70];
aeq=[];
beq=[];
lb=[5;0];
ub=[inf;inf];
[x,fval]=linprog(-z,a,b,aeq,beq,lb,ub)

Optimal solution found.

x =
    5.0000
    1.5714
fval =
 -341.4286
>> best=z*x
best =
  341.4286

对x2进行分支定界时,对x2>3部分,代码如下:

>> z=[40 90];
a=[9,7;7,20];
b=[56;70];
aeq=[];
beq=[];
lb=[0;3];
ub=[4;inf];
[x,fval]=linprog(-z,a,b,aeq,beq,lb,ub)

Optimal solution found.

x =
    1.4286
    3.0000
fval =
 -327.1429
>> best=z*x
best =
  327.1429

x1>5,0<x2<1时代码求解如下:

>>  z=[40 90];
a=[9,7;7,20];
b=[56;70];
aeq=[];
beq=[];
lb=[5;0];
ub=[inf;1];
[x,fval]=linprog(-z,a,b,aeq,beq,lb,ub)

Optimal solution found.

x =
    5.4444
    1.0000
fval =
 -307.7778
>> best=z*x
best =
  307.7778

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值