数学建模之减肥计划 matlab编程,数学建模matlab算法大全第02章整数规划.pdf

数学建模matlab算法大全第02章整数规划

第二章 整数规划

§1 概论

1.1 定义

规划中的变量(部分或全部)限制为整数时,称为整数规划。若在线性规划模型中,

变量限制为整数,则称为整数线性规划。目前所流行的求解整数规划的方法,往往只适

用于整数线性规划。目前还没有一种方法能有效地求解一切整数规划。

1.2 整数规划的分类

如不加特殊说明,一般指整数线性规划。对于整数线性规划模型大致可分为两类:

o

1 变量全限制为整数时,称纯(完全)整数规划。

2o 变量部分限制为整数的,称混合整数规划。

1.2 整数规划特点

(i ) 原线性规划有最优解,当自变量限制为整数后,其整数规划解出现下述情况:

①原线性规划最优解全是整数,则整数规划最优解与线性规划最优解一致。

②整数规划无可行解。

例 1 原线性规划为

min z x +x

1 2

2x1 +4x2 5, x1 ≥0, x2 ≥0

5 5

其最优实数解为:x1 0,x2 ,min z 。

4 4

③有可行解(当然就存在最优解),但最优解值变差。

例 2 原线性规划为

min z x +x

1 2

2x1 +4x2 6, x1 ≥0, x2 ≥0

3 3

其最优实数解为:x1 0,x2 ,min z 。

2 2

若限制整数得:x1 1,x2 1,min z 2 。

(ii ) 整数规划最优解不能按照实数最优解简单取整而获得。

1.3 求解方法分类:

(i )分枝定界法—可求纯或混合整数线性规划。

(ii )割平面法—可求纯或混合整数线性规划。

(iii )隐枚举法—求解“0-1 ”整数规划:

①过滤隐枚举法;

②分枝隐枚举法。

(iv )匈牙利法—解决指派问题(“0-1 ”规划特殊情形)。

(v )蒙特卡洛法—求解各种类型规划。

下面将简要介绍常用的几种求解整数规划的方法。

§2 分枝定界法

对有约束条件的最优化问题(其可行解为有限数)的所有可行解空间恰当地进行系

统搜索,这就是分枝与定界内容。通常,把全部可行解空间反复地分割为越来越小的子

集,称为分枝;并且对每个子集内的解集计算一个目标下界(对于最小值问题),这称

为定界。在每次分枝后,凡是界限超出已知可行解集目标值的那些子集不再进一步分枝,

-16-

这样,许多子集可不予考虑,这称剪枝。这就是分枝定界法的主要思路。

分枝定界法可用于解纯整数或混合的整数规划问题。在本世纪六十年代初由 Land

Doig 和 Dakin 等人提出的。由于这方法灵活且便于用计算机求解,所以现在它已是解

整数规划的重要方法。目前已成功地应用于求解生产进度问题、旅行推销员问题、工厂

选址问题、背包问题及分配问题等。

设有最大化的整数规划问题A ,与它相应的线性规划为问题B ,从解问题B 开始,

*

若其最优解不符合A 的整数条件,那么B 的最优目标函数必是A 的最优目标函数z 的

*

上界,记作z ;而A 的任意可行解的目标函数值将是z 的一个下界z 。分枝定界法就

你可能感兴趣的:(数学建模之减肥计划,matlab编程)