整数规划的分类有哪些 整数规划的分类全整数规划

整数规划的分类?

整数规划英文(integerprogramming)定义:在线性规划问题中,有些最优解可能是分数或小数,但对于某些具体问题,常要求某些变量的解必须是整数。

例如,当变量代表的是机器的台数,工作的人数或装货的车数等。

为了满足整数的要求,初看起来似乎只要把已得的非整数解舍入化整就可以了。实际上化整后的数不见得是可行解和最优解,所以应该有特殊的方法来求解整数规划。

在整数规划中,如果所有变量都限制为整数,则称为纯整数规划;如果仅一部分变量限制为整数,则称为混合整数规划。整数规划的一种特殊情形是01规划,它的变数仅限于0或1。不同于线性规划问题,整数和01规划问题至今尚未找到一般的多项式解法。

组合最优化组合最优化通常都可表述为整数规划问题。

两者都是在有限个可供选择的方案中,寻找满足一定约束的最好方案。有许多典型的问题反映整数规划的广泛背景。例如,背袋(或装载)问题、固定费用问题、和睦探险队问题(组合学的对集问题)、有效探险队问题(组合学的覆盖问题)、旅行推销员问题,车辆路径问题等。

因此整数规划的应用范围也是极其广泛的。

它不仅在工业和工程设计和科学研究方面有许多应用,而且在计算机设计、系统可靠性、编码和经济分析等方面也有新的应用。

整数规划整数规划是从1958年由R.E.戈莫里提出割平面法之后形成独立分支的,30多年来发展出很多方法解决各种问题。

解整数规划最典型的做法是逐步生成一个相关的问题,称它是原问题的衍生问题。

对每个衍生问题又伴随一个比它更易于求解的松弛问题(衍生问题称为松弛问题的源问题)。

通过松弛问题的解来确定它的源问题的归宿,即源问题应被舍弃,还是再生成一个或多个它本身的衍生问题来替代它。

随即,再选择一个尚未被舍弃的或替代的原问题的衍生问题,重复以上步骤直至不再剩有未解决的衍生问题为止。

现今比较成功又流行的方法是分支定界法和割平面法,它们都是在上述框架下形成的。0—1规划0—1规划在整数规划中占有重要地位,一方面因为许多实际问题,例如指派问题、选地问题、送货问题都可归结为此类规划,另一方面任何有界变量的整数规划都与0—1规划等价,用0—1规划方法还可以把多种非线性规划问题表示成整数规划问题,所以不少人致力于这个方向的研究。求解0—1规划的常用方法是分枝定界法,对各种特殊问题还有一些特殊方法,例如求解指派问题用匈牙利方法就比较方便。

延伸阅读

0-1规划和整数规划的区别?

0-1规划是单统数规划。而整数规划是双统数规划。

整数规划的最优值和对应的线性规划的最优值哪个更优?

如果整数规划是求最小问题,那么对应的线性规划的最优值比原问题的最优值要小;如果整数规划是求最大问题,那么对应的线性规划的最优值比原问题的最优值要大.但从目标值上,松弛线性规划的更优,但它不是整数规划问题的可行解.

如何用excel求解运筹学中整数规划的指派问题?

excel是解决诸如规划问题强大的工具。下面详细看一看如何用excel求解运筹学中整数规划的指派问题。步骤比较复杂,每一步都要仔细。

问题模型建立

1输入规划问题的数据,对问题进行分析,建立对应的规划模型。其中数据表示时间(秒),可知应求时间最小问题。

2对问题进行分析可以发现,人数与任务数不相等,可以加一个虚拟的任务。

3建立目标函数和约束条件。其中应尽量将原问题的标头复制下来,方便分析。空白处为变量。

4对约束条件进行处理,每行每列的和都要等于1 ,因此用sum()公式。

规划求解过程

1问题数据和模型建立完成之后,开始进行规划求解。点击数据菜单下的规划求解图标。

2下面添加目标单元格,选中之前添加公式的那个单元格。选择目标单元格。空白位置。

3下面用单元格引用添加约束条件。

4约束条件添加完成之后,还要问变量添加约束。

5这里的变量是0或1,所以选择二进制。确认添加。

6检查一遍是不是所有的约束条件都添加完成。然后单击求解。

7求解之后,需要保留答案,单击确定完成。

8最后这就是这个规划问题的解。

0-1型整数规划的解法?

解0-1 型整数规划最容易想到的方法,和一般整数规划的情形一样。

就是穷举法,即检查变量取值为0 或1 的每一种组合,比较目标函数值以求得最优解,这就需要检查变量取值的2的n次方个组合。

对于变量个数n 较大(例如n>100),这几乎是不可能的。因此常设计一些方法,只检查变量取值的组合的一部分,就能求到问题的最优解。这样的方法称为隐枚举法(Implicit Enumeration ),分枝定界法也是一种隐枚举法。当然,对有些问题隐枚举法并不适用,所以有时穷举法还是必要的。

怎么用lingo求解整数规划?

目前大学生接触较多的数学软件是matlab,其自带的linprog函数能够解决大量的线性规划问题,但是却没有用于解决整数规划的工具箱。事实上,还有一款专门适用于运筹学的软件lingo【他还有个同胞兄弟叫lindo,两者差不多】,由于功能单一,这个软件很小,很好用。

1,打开lingo。

2,输入程序框架。

3,输入问题,只需要按照图中的格式去写。可以看到,lingo的编程语言与我们所学到的运筹学公式基本一致。

4,添加整数约束,希望哪一个变量是整数,就在末尾加一行“@gin(变量);”就可以了。

5,得出结果,点击图中的“solve”按钮,即可。

6,查看结果,解决后,会弹出一个窗口,向你显示目标函数值和每个变量的取值。问题解决。

纯整数线性规划定义?

纯整数线性规划(Pure integer linear programming):指全部决策变量都必须取整数值的整数线性规划。有时,也称为全整数规划。整数线性规划是指要求一部分或全部决策变量必须取整数值的线性规划问题。典型的整数线性规划有纯整数线性规划、混合整数线性规划和0-1型整数线性规划。

版权声明