\qquad
混合整数线性规划问题的一般表示形式如下所示:假设现有
n
n
n个变量,
m
m
m个约束,令最大化(或者最小化)
c
1
x
1
+
c
2
x
2
+
.
.
.
+
c
n
x
n
c_1x_1+c_2x_2+...+c_nx_n
c1x1+c2x2+...+cnxn为目标函数,约束条件如下所示:
a
11
x
1
+
.
.
.
+
a
1
n
x
n
≤
b
1
.
.
.
a
m
1
x
1
+
.
.
.
+
a
m
n
x
n
≤
b
m
x
i
≥
0
,
1
≤
i
≤
n
x
i
为整数
,
i
∈
S
a_{11}x_1+...+a_{1n}x_n\leq b_1 \\ ...\\ a_{m1}x_1+...+a_{mn}x_n\leq b_m\\ x_i \geq 0, 1\leq i \leq n \\ x_i 为整数, i \in S
a11x1+...+a1nxn≤b1...am1x1+...+amnxn≤bmxi≥0,1≤i≤nxi为整数,i∈S
\qquad
混合整数线性规划问题和线性规划问题形式大致相同,但引入了一个新的集合
S
S
S,规定集合
S
S
S中的变量
x
i
x_i
xi的取值必须为整数。
\qquad
求解一个0-1整数上的线性方程也是NP-完全的,如子集和问题:
\qquad 求解混合整数线性规划的思路(分枝定界法 branch and bound) 如下所示:
\qquad
强分枝策略
\qquad
对于每一个取值为分数的变量
x
x
x,均计算其
P
b
e
l
o
w
P_{below}
Pbelow和
P
a
b
o
v
e
P_{above}
Pabove 的最优目标值,选择对目标函数提升最多的一个变量优先进行分枝
\qquad
伪费用分枝(pseudo-cost)策略
\qquad
估算每一个变量的分枝获益(潜在可能的目标值提升)
\qquad
选择估计值中最好的一个进行优先分枝