用mathematica进行整数规划

       首先mathematica可以很方便地进行线性规划问题(LP),但是对于离散最优化问题,例如整数规划(IP)就没有相应的函数,因此需要进行分支定界法,以下我按照论文做的一个实验:

In[9]:= NMaximize[{x1 + 4 x2, 
  5 x1 + 8 x2 <= 40 && -2 x1 + 3 x2 <= 9 && x1 >= 0 && x2 >= 0}, {x1, 
  x2}]

Out[9]= {17.6774, {x1 -> 1.54839, x2 -> 4.03226}}

最优解不是整数,将问题按条件x1划分为子问题LP1 (x1 <= 1) 和LP2 (x1 >= 2),再次求解:

线性规划子问题LP1:

In[10]:= NMaximize[{x1 + 4 x2, 
  5 x1 + 8 x2 <= 40 && -2 x1 + 3 x2 <= 9 && x1 >= 0 && x2 >= 0 && 
   x1 <= 1}, {x1, x2}]

Out[10]= {15.6667, {x1 -> 1., x2 -> 3.66667}}

线性规划子问题LP2:

In[11]:= NMaximize[{x1 + 4 x2, 
  5 x1 + 8 x2 <= 40 && -2 x1 + 3 x2 <= 9 && x1 >= 0 && x2 >&
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值