0-1整数规划
1.前置知识
\(01\)整数规划,仅限用于变量\(x_j\)为0/1的情况
即约束函数为:
2.单一相互排斥的约束条件
抽象化理解题目即:$ \lambda $种运输方式,仅能选择一定种数的运输方式
为了解决此类问题,我们统一引入\(\text{0-1}\)变量
\(e.g.1\)
约束条件为:
引入\(\text{0-1}\)变量,上述可改写为:
其中,\(M\)为充分大的数
(待解决:怎么用linprog实现yM的表示?)<-已解决
\(e.g.\small \texttt{实例}\)
某公司拟在市东、西、南三区建立门市部。拟议中有7个位置(点)\(A_i(i=1,2,3...7)\)可供选择。规定:
\(1.\)在东区。由\(A_1\),\(A_2\),\(A_3\)三个点中至多选两个
\(2.\)在西区,由\(A_4\),\(A_5\)两个点中至少选一个
\(3.\)再南区,由\(A_6\),\(A_7\)两个点中至少选一个
如选用\(A_i\)点,设备投资估计为\(b_i\),每年可获利润估计为\(c_i\)元,但投资总额不能超过
解:
引入\(\text{0-1}\)变量\(x_i\):
则上述模型转化为:
2.1.多重相互排斥的约束条件
抽象化理解题目:
即问题\(2\)的扩展,问题变为了运用\(0-1\)变量来求解\(m\)个互相排斥的约束问题
若有\(m\)个相互约束的约束条件:
我们重新定义\(\text{0-1}\)变量\(y_i\)
可得\(\text{m+1}\)个约束条件:
注意到,(2*)式只有一个\(y_i\)会等于\(1\)
故令\(y^{*}=1\),代入(1*)式,则只有\(i=i^*\)的约束条件起作用,其他式子均为多余的。
可暴力枚举\(y^*\)来更新\(ans\)
3.关于固定费用的问题
常见问题下要求使成本最小,故成本为可变常数。而部分问题中成本为固定常数,则需要使用混合整数规划来解决。
\(e.g.\)
某工厂为了生产某种产品,有几种不同的生产方式可供选择,如选定的生产方式投资高(选购自动化程度高的设备),由于产量大,因而分配到每件产品的变动成本就降低;反之,如选定的生产方式投资低,将来分配到每件产品的变动成本可能增加。所以,必须全面考虑。设有三种方式可供选择,令
\(\text{j=1,2,3}\)分别表示三种方式;
\(x_j\)表示采用第\(j\)种方式时的产量;
\(c_j\)表示采用第\(j\)种方式时每件产品的变动成本
\(k_j\)表示采用第\(j\)种方式时的固定成本
解:
暂不考虑其他约束条件的情况下,采用各种生产方式的总成本分别为
引入\(0-1\)变量\(y_j\)
故目标函数为:
约束条件为:
式中\(\epsilon\)为充分小的正常数,\(M\)为充分大的正常数
此式可完全替代\(0-1\)变量表达式

浙公网安备 33010602011771号