整数规划
文章目录
整数规划模型
线性混合整数规划(MIP)
背包模型
旅行者要在一个背包内装入一些对旅行最有用的物品。背包最多只能装总重为b单位的物品,并且对于每件物品只能选择整个携带或者不带。假设共有n件物品,第j件物品重
aj
a_j
a
j
,其价值为
cj
c_j
c
j
。在携带物品总重量不超过b单位的情况下,请问应如何装入物品以使背包内的物品总价值最大。
对于
j
=
1
,
…
,
n
j=1,…,n
j
=
1
,
…
,
n
,定义0-1决策变量
x
j
x_j
x
j
:
x
j
=
{
1
携带物品
j
0
否则
x_j = \begin{cases} 1 & 携带物品j \\ 0 & 否则 \end{cases}
x
j
=
{
1
0
携带物品
j
否则
则该问题的数学模型为
m
a
x
∑
j
=
1
n
c
j
x
j
max\sum_{j=1}^nc_jx_j \\
ma
x
j
=
1
∑
n
c
j
x
j
s
.
t
.
s.t.
s
.
t
.
∑
j
=
1
n
a
j
x
j
≤
b
x
j
∈
∀
j
=
1
,
…
,
n
\sum_{j=1}^na_jx_j\leq b \\ x_j \in \forall j =1,…,n
j
=
1
∑
n
a
j
x
j
≤
b
x
j
∈
∀
j
=
1
,
…
,
n
广义指派模型
将n个任务(或物品)分配给m个员工(或背包)的问题。平衡指派模型是指任务数量和员工数量相等的情形。而现实中通常是任务数量大于员工数量且员工能力有限的广义指派模型(GAP)。GAP是经典的组合优化问题,许多领域的容量约束问题都可以被抽象为GAP进行求解。GAP可以描述为:将n个相互独立的任务分配给m个员工,一个任务只能由一个员工来完成,一个员工可以完成多项任务,但员工完成任务需要的总时间不得超过给定限制。
对于
i
=
1
,
…
,
m
;
j
=
1
,
…
,
n
i=1,…,m;j=1,…,n
i
=
1
,
…
,
m
;
j
=
1
,
…
,
n
,定义0-1决策变量
x
i
j
x_{ij}
x
ij
:
x
i
j
=
{
1
任务
j
分配给员工
i
0
否则
x_{ij}=\begin{cases} 1 & 任务j分配给员工i \\ 0 & 否则 \end{cases}
x
ij
=
{
1
0
任务
j
分配给员工
i
否则
令
I
=
{
i
∣
i
=
1
,
…
,
m
}
I=\{ i|i=1,…,m \}
I
=
{
i
∣
i
=
1
,
…
,
m
}
为员工集合,
J
=
{
j
∣
j
=
1
,
…
,
n
}
J=\{ j|j=1,…,n \}
J
=
{
j
∣
j
=
1
,
…
,
n
}
为任务集合,
b
i
b_i
b
i
表示员工自身的工作时长限制,
r
i
j
r_{ij}
r
ij
表示员工
i
i
i
完成任务
j
j
j
需要的时长,
c
i
j
c_{ij}
c
ij
表示员工
i
i
i
完成任务
j
j
j
所消耗的资源或产生的收益。最终目标为成本最小或收益最大,则GAP可表述为
m
a
x
或
m
i
n
∑
i
∈
I
∑
j
∈
J
c
i
j
x
i
j
max或min\sum_{i\in I}\sum_{j \in J}c_{ij}x_{ij}
ma
x
或
min
i
∈
I
∑
j
∈
J
∑
c
ij
x
ij
s
.
t
.
s.t.
s
.
t
.
∑
j
∈
J
r
i
j
x
i
j
≤
b
i
,
∀
i
∈
I
,
∑
i
∈
I
x
i
j
=
1
,
∀
j
∈
J
,
x
i
j
∈
{
0
,
1
}
,
∀
i
∈
I
,
∀
j
∈
J
.
\sum_{j \in J}r_{ij}x_{ij} \leq b_i, \forall i \in I, \\ \sum_{i \in I}x_{ij}=1, \forall j \in J, \\ x_{ij} \in \{ 0,1 \}, \forall i \in I ,\forall j \in J.
j
∈
J
∑
r
ij
x
ij
≤
b
i
,
∀
i
∈
I
,
i
∈
I
∑
x
ij
=
1
,
∀
j
∈
J
,
x
ij
∈
{
0
,
1
}
,
∀
i
∈
I
,
∀
j
∈
J
.
集合包装、覆盖和划分模型
集合包装约束要求每个子集
jj
j
中最多有一个元素出现在最优解中
∑
j
∈
J
x
j
≤
1.
\sum_{j \in J} x_j \leq 1.
j
∈
J
∑
x
j
≤
1.
集合覆盖约束要求每个子集
jj
j
中至少有一个元素出现在最优解中
∑
j
∈
J
x
j
≥
1.
\sum_{j \in J} x_j \geq 1.
j
∈
J
∑
x
j
≥
1.
集合划分约束要求每个子集
jj
j
中有且仅有一个元素出现在最优解中
∑
j
∈
J
x
j
=
1.
\sum_{j \in J} x_j = 1.
j
∈
J
∑
x
j
=
1.
含固定成本的整数规划模型
含固定成本的整数规划模型指的是目标函数中存在固定成本。
设施选址模型
设施选址模型需要解决两个问题,一是选定那些点建立设施,二是被选中的点如何满足顾客需求。因此需要定义两类决策变量。
定义0-1决策变量
y
i
y_i
y
i
为
y
i
=
{
1
在
i
点建立设施
0
否则
y_i = \begin{cases} 1 & 在i点建立设施 \\ 0 & 否则 \end{cases}
y
i
=
{
1
0
在
i
点建立设施
否则
定义决策变量
x
i
j
x_{ij}
x
ij
为
x
i
j
=
设施点
i
满足顾客
j
的需求量在该顾客总需求中所占的比例
x_{ij} = 设施点i满足顾客j的需求量在该顾客总需求中所占的比例
x
ij
=
设施点
i
满足顾客
j
的需求量在该顾客总需求中所占的比例
令
I
I
I
为设施点集合,
J
J
J
为客户集合,
d
j
d_j
d
j
为客户
j
∈
J
j \in J
j
∈
J
的总需求,
f
i
f_i
f
i
为在设施点
i
∈
I
i \in I
i
∈
I
建立设施所需的固定费用,
u
i
u_i
u
i
为设施点
i
i
i
能够提供的最大服务量,
c
i
j
c_{ij}
c
ij
为顾客
j
j
j
从设施点
i
i
i
获取单位服务量而产生的成本。设施选址问题的整数线性规划模型可表示如下:
m
i
n
∑
i
∈
I
∑
j
∈
J
c
i
j
d
j
x
i
j
+
∑
i
∈
I
f
i
y
i
min \sum_{i \in I} \sum_{j \in J}c_{ij}d_jx_{ij} + \sum_{i \in I} f_iy_i
min
i
∈
I
∑
j
∈
J
∑
c
ij
d
j
x
ij
+
i
∈
I
∑
f
i
y
i
s
.
t
.
s.t.
s
.
t
.
∑
i
∈
I
x
i
j
=
d
j
,
∀
j
∈
J
,
∑
j
∈
J
d
j
x
i
j
≤
u
i
y
i
,
∀
i
∈
I
,
x
i
j
≥
0
,
∀
i
∈
I
,
j
∈
J
,
y
i
∈
{
0
,
1
}
,
∀
i
∈
I
.
\sum_{i \in I} x_{ij} = d_j,\forall j \in J, \\ \sum_{j \in J} d_j x_{ij} \le u_iy_i, \forall i \in I, \\ x_{ij} \ge 0,\forall i \in I, j \in J, \\ y_i \in \{ 0,1 \}, \forall i \in I.
i
∈
I
∑
x
ij
=
d
j
,
∀
j
∈
J
,
j
∈
J
∑
d
j
x
ij
≤
u
i
y
i
,
∀
i
∈
I
,
x
ij
≥
0
,
∀
i
∈
I
,
j
∈
J
,
y
i
∈
{
0
,
1
}
,
∀
i
∈
I
.
如果客户所需的全部服务的全部服务必须从单一设施点获得,则还需要以下约束:
x
i
j
∈
{
0
,
1
}
,
∀
i
∈
I
,
j
∈
J
.
x_{ij} \in \{ 0,1\},\forall i \in I, j \in J.
x
ij
∈
{
0
,
1
}
,
∀
i
∈
I
,
j
∈
J
.
针对顾客的服务需求则可以在不同的设施点获得的情况,
x
i
j
x_{ij}
x
ij
则是连续的。
网络设计模型
在网络模型中,用
VV
V
表示网络中的节点集,
AA
A
表示网络中的弧集,
bi
b_i
b
i
表示节点
i∈
V
i \in V
i
∈
V
所需的网络流量,
ui
j
u_{ij}
u
ij
表示弧
(i
,
j
)
∈
A
(i,j) \in A
(
i
,
j
)
∈
A
的最大网络流量限制,
fi
j
f_{ij}
f
ij
表示建立通路
(i
,
j
)
(i,j)
(
i
,
j
)
花费的固定成本,
ci
j
c_{ij}
c
ij
表示经过弧
(i
,
j
)
(i,j)
(
i
,
j
)
的单位流量成本。
对于弧
(
i
,
j
)
∈
A
(i,j) \in A
(
i
,
j
)
∈
A
,定义连续变量
x
i
j
x_{ij}
x
ij
为通过弧
(
i
,
j
)
(i,j)
(
i
,
j
)
的网络流量,0-1变量
y
i
j
y_{ij}
y
ij
为点
i
i
i
和
j
j
j
之间是否建立通路。
m
i
n
∑
(
i
,
j
)
∈
A
f
i
j
y
i
j
+
∑
(
i
,
j
)
∈
A
c
i
j
x
i
j
min\sum_{(i,j) \in A}f_{ij}y_{ij}+\sum_{(i,j) \in A}c_{ij}x_{ij}
min
(
i
,
j
)
∈
A
∑
f
ij
y
ij
+
(
i
,
j
)
∈
A
∑
c
ij
x
ij
s
.
t
.
s.t.
s
.
t
.
∑
(
i
,
k
)
∈
A
x
i
k
−
∑
(
k
,
j
)
∈
A
x
k
j
=
b
k
,
∀
k
∈
V
,
0
≤
x
i
j
≤
u
i
j
y
i
j
,
∀
(
i
,
j
)
∈
A
,
y
i
j
∈
{
0
,
1
}
,
∀
(
i
,
j
)
∈
A
.
\sum_{(i,k) \in A}x_{ik}-\sum_{(k,j) \in A}x_{kj}=b_k, \forall k \in V, \\ 0 \le x_{ij} \le u_{ij}y_{ij}, \forall (i,j) \in A, \\ y_{ij} \in \{ 0,1 \}, \forall (i,j) \in A.
(
i
,
k
)
∈
A
∑
x
ik
−
(
k
,
j
)
∈
A
∑
x
kj
=
b
k
,
∀
k
∈
V
,
0
≤
x
ij
≤
u
ij
y
ij
,
∀
(
i
,
j
)
∈
A
,
y
ij
∈
{
0
,
1
}
,
∀
(
i
,
j
)
∈
A
.
旅行商问题
一个商品推销员要去若干个城市推销商品,该推销员从一个城市出发,需要经过所有城市后再回到出发点,选择一条路线使得总行程最短。
对称TSP
引入决策变量
x
i
j
(
i
<
j
)
x_{ij}(i \lt j)
x
ij
(
i
<
j
)
x
i
j
=
{
1
如果解中包含从点
i
到点
j
的线段
0
否则
x_{ij} = \begin{cases} 1 & 如果解中包含从点i到点j的线段 \\ 0 & 否则 \end{cases}
x
ij
=
{
1
0
如果解中包含从点
i
到点
j
的线段
否则
令集合
I
I
I
为所有点集,
d
i
j
d_{ij}
d
ij
为从点
i
i
i
到点
j
j
j
的距离,则总的路径长度可以表示为如下线性形式:
∑
i
∈
I
∑
j
>
i
,
j
∈
I
d
i
j
x
i
j
\sum_{i \in I}\sum_{j \gt i,j \in I}d_{ij}x_{ij}
i
∈
I
∑
j
>
i
,
j
∈
I
∑
d
ij
x
ij
在对称情况下,对于任意点
i
∈
I
i \in I
i
∈
I
,可行解中都恰好存在两个
x
x
x
变量等于1,使得
i
i
i
与前后两个城市相连,这一约束可以表示为:
∑
j
<
i
,
j
∈
I
x
j
i
+
∑
j
>
i
,
j
∈
I
x
i
j
=
2
,
∀
i
∈
I
.
\sum_{j \lt i,j \in I}x_{ji}+\sum_{j \gt i,j \in I}x_{ij}=2, \forall i \in I.
j
<
i
,
j
∈
I
∑
x
ji
+
j
>
i
,
j
∈
I
∑
x
ij
=
2
,
∀
i
∈
I
.
但上述约束无法避免子回路问题,考虑到至少要3个点才能形成子回路,可以令
S
S
S
为集合
I
I
I
的一个真子集,满足
∣
S
∣
≥
3
|S| \ge 3
∣
S
∣
≥
3
。则任意不在
S
S
S
内形成子回路的路径必须在
S
S
S
内外至少穿过两次,即:
∑
i
∈
S
∑
j
∉
S
,
j
>
i
x
i
j
+
∑
i
∉
S
∑
j
∈
S
,
j
>
i
x
i
j
≥
2.
\sum_{i \in S}\sum_{j \notin S,j\gt i}x_{ij}+\sum_{i \notin S}\sum_{j \in S,j\gt i}x_{ij} \ge 2.
i
∈
S
∑
j
∈
/
S
,
j
>
i
∑
x
ij
+
i
∈
/
S
∑
j
∈
S
,
j
>
i
∑
x
ij
≥
2.
综上所述,对称TSP的整数线性规划模型如下:
m
i
n
∑
i
∈
I
∑
j
>
i
,
j
∈
I
d
i
j
x
i
j
min \sum_{i \in I}\sum_{j \gt i,j \in I}d_{ij}x_{ij}
min
i
∈
I
∑
j
>
i
,
j
∈
I
∑
d
ij
x
ij
s
.
t
.
s.t.
s
.
t
.
∑
j
<
i
,
j
∈
I
x
j
i
+
∑
j
>
i
,
j
∈
I
x
i
j
=
2
,
∀
i
∈
I
,
∑
i
∈
S
∑
j
∉
S
,
j
>
i
x
i
j
+
∑
i
∉
S
∑
j
∈
S
,
j
>
i
x
i
j
≥
2
,
∀
S
⊂
I
,
∣
S
∣
≥
3
,
x
i
j
∈
{
0
,
1
}
,
∀
i
,
j
∈
I
,
j
>
i
.
\sum_{j \lt i,j \in I}x_{ji}+\sum_{j \gt i,j \in I}x_{ij}=2, \forall i \in I ,\\ \sum_{i \in S}\sum_{j \notin S,j\gt i}x_{ij}+\sum_{i \notin S}\sum_{j \in S,j\gt i}x_{ij} \ge 2,\forall S \subset I,|S| \ge 3 ,\\ x_{ij} \in \{0,1\}, \forall i,j \in I,j \gt i.
j
<
i
,
j
∈
I
∑
x
ji
+
j
>
i
,
j
∈
I
∑
x
ij
=
2
,
∀
i
∈
I
,
i
∈
S
∑
j
∈
/
S
,
j
>
i
∑
x
ij
+
i
∈
/
S
∑
j
∈
S
,
j
>
i
∑
x
ij
≥
2
,
∀
S
⊂
I
,
∣
S
∣
≥
3
,
x
ij
∈
{
0
,
1
}
,
∀
i
,
j
∈
I
,
j
>
i
.
不对称TSP
引入决策变量
x
i
j
x_{ij}
x
ij
x
i
j
=
{
1
如果路径依次通过
i
和
j
0
否则
x_{ij} = \begin{cases} 1 & 如果路径依次通过i和j \\ 0 & 否则 \end{cases}
x
ij
=
{
1
0
如果路径依次通过
i
和
j
否则
由于成本的不对称性,约束条件应更新为:
∑
j
∈
I
x
j
i
=
1
,
∀
i
∈
I
.
∑
j
∈
I
x
i
j
=
1
,
∀
i
∈
I
.
\sum_{j \in I}x_{ji}=1, \forall i \in I .\\ \sum_{j \in I}x_{ij}=1, \forall i \in I.
j
∈
I
∑
x
ji
=
1
,
∀
i
∈
I
.
j
∈
I
∑
x
ij
=
1
,
∀
i
∈
I
.
对于子路径的约束更新为:
∑
i
∈
S
∑
j
∉
S
x
i
j
≥
1.
\sum_{i \in S}\sum_{j \notin S}x_{ij} \ge 1.
i
∈
S
∑
j
∈
/
S
∑
x
ij
≥
1.
或
∑
i
∈
S
∑
j
∈
S
x
i
j
≤
∣
S
∣
−
1.
\sum_{i \in S}\sum_{j \in S}x_{ij} \le |S|-1.
i
∈
S
∑
j
∈
S
∑
x
ij
≤
∣
S
∣
−
1.
对于非对称情况,
∣
S
∣
≥
2
|S| \ge 2
∣
S
∣
≥
2
综上所述,非对称TSP的整数线性规划模型如下:
m
i
n
∑
i
∈
I
∑
j
∈
I
d
i
j
x
i
j
min \sum_{i \in I}\sum_{j \in I}d_{ij}x_{ij}
min
i
∈
I
∑
j
∈
I
∑
d
ij
x
ij
s
.
t
.
s.t.
s
.
t
.
∑
j
∈
I
x
j
i
=
1
,
∀
i
∈
I
,
∑
j
∈
I
x
i
j
=
1
,
∀
i
∈
I
,
∑
i
∈
S
∑
j
∉
S
x
i
j
≥
1
,
∀
S
⊂
I
,
∣
S
∣
≥
2
,
\sum_{j \in I}x_{ji}=1, \forall i \in I, \\ \sum_{j \in I}x_{ij}=1, \forall i \in I, \\ \sum_{i \in S}\sum_{j \notin S}x_{ij} \ge 1,\forall S \subset I,|S| \ge 2,
j
∈
I
∑
x
ji
=
1
,
∀
i
∈
I
,
j
∈
I
∑
x
ij
=
1
,
∀
i
∈
I
,
i
∈
S
∑
j
∈
/
S
∑
x
ij
≥
1
,
∀
S
⊂
I
,
∣
S
∣
≥
2
,
或
∑
i
∈
S
∑
j
∈
S
x
i
j
≤
∣
S
∣
−
1
,
∀
S
⊂
I
,
∣
S
∣
≥
2
,
x
i
j
∈
{
0
,
1
}
,
∀
i
,
j
∈
I
.
\sum_{i \in S}\sum_{j \in S}x_{ij} \le |S|-1,\forall S \subset I,|S| \ge 2 , \\ x_{ij} \in \{0,1\} , \forall i,j \in I.
i
∈
S
∑
j
∈
S
∑
x
ij
≤
∣
S
∣
−
1
,
∀
S
⊂
I
,
∣
S
∣
≥
2
,
x
ij
∈
{
0
,
1
}
,
∀
i
,
j
∈
I
.
拓展
MTZ模型
m
i
n
∑
i
∈
I
∑
j
∈
I
c
i
j
x
i
j
min \sum_{i \in I}\sum_{j \in I}c_{ij}x_{ij}
min
i
∈
I
∑
j
∈
I
∑
c
ij
x
ij
s
.
t
.
s.t.
s
.
t
.
∑
i
∈
I
x
i
j
=
1
,
∀
j
∈
I
,
∑
j
∈
I
x
i
j
=
1
,
∀
i
∈
I
,
u
i
−
u
j
+
(
n
−
1
)
x
i
j
≤
n
−
2
,
2
≤
i
=
j
≤
n
.
\sum_{i \in I}x_{ij}=1,\forall j \in I, \\ \sum_{j \in I}x_{ij}=1,\forall i \in I, \\ u_i-u_j+(n-1)x_{ij} \le n-2,2 \le i=j \le n.
i
∈
I
∑
x
ij
=
1
,
∀
j
∈
I
,
j
∈
I
∑
x
ij
=
1
,
∀
i
∈
I
,
u
i
−
u
j
+
(
n
−
1
)
x
ij
≤
n
−
2
,
2
≤
i
=
j
≤
n
.
对于
u
i
−
u
j
+
(
n
−
1
)
x
i
j
≤
n
−
2
,
2
≤
i
,
j
≤
n
u_i-u_j+(n-1)x_{ij} \le n-2,2 \le i,j \le n
u
i
−
u
j
+
(
n
−
1
)
x
ij
≤
n
−
2
,
2
≤
i
,
j
≤
n
,可以证明其为无子环约束:
当生成一个子环
i
−
j
−
k
−
l
−
i
i-j-k-l-i
i
−
j
−
k
−
l
−
i
时,有
u
i
<
u
j
<
u
k
<
u
l
<
u
i
u_i\lt{u_j}\lt{u_k}\lt{u_l}\lt{u_i}
u
i
<
u
j
<
u
k
<
u
l
<
u
i
,则
u
i
<
u
i
u_i\lt{u_i}
u
i
<
u
i
,不成立。注意
2
≤
i
,
j
≤
n
2\le{i,j}\le{n}
2
≤
i
,
j
≤
n
,这是因为这项约束其实是“无环约束”,而TSP问题的解本身就是一个大环,所以要把起始点剔除出去。
货物流模型
包括单类流模型(Single-Commodity Flow,SCM),双类流模型(Two-Commodity Flow,TCM)和多类流模型(Multi-Commodity Flow,MCM)。基于货物流的模型采用了DFJ、MTZ一样的目标函数,流平衡约束和决策变量
x
i
j
x_{ij}
x
ij
的定义,不同的是对子回路约束。下面只讨论多类流模型的子回路约束:
y
i
j
k
≤
x
i
j
,
∀
i
,
j
,
k
∈
N
,
k
≠
1
∑
i
∈
V
y
1
i
k
=
1
,
∀
k
∈
V
\
{
1
}
∑
i
∈
V
y
i
1
k
=
0
,
∀
k
∈
V
\
{
1
}
∑
i
∈
V
y
i
k
k
=
1
,
∀
k
∈
V
\
{
1
}
∑
j
∈
V
y
k
j
k
=
1
,
∀
k
∈
V
\
{
1
}
∑
i
∈
V
y
i
j
k
−
∑
i
∈
V
y
j
i
k
=
0
,
∀
j
,
k
∈
V
\
{
1
}
,
j
≠
k
y_{ij}^k \le x_{ij},\forall i,j,k \in N,k \ne1 \\ \sum_{i \in V} y_{1i}^k =1,\forall k \in V \backslash \{1\} \\ \sum_{i \in V} y_{i1}^k =0,\forall k \in V \backslash \{1\} \\ \sum_{i \in V} y_{ik}^k =1,\forall k \in V \backslash \{1\} \\ \sum_{j \in V} y_{kj}^k =1,\forall k \in V \backslash \{1\} \\ \sum_{i \in V} y_{ij}^k-\sum_{i \in V} y_{ji}^k=0,\forall j,k \in V \backslash \{1\} ,j \ne k
y
ij
k
≤
x
ij
,
∀
i
,
j
,
k
∈
N
,
k
=
1
i
∈
V
∑
y
1
i
k
=
1
,
∀
k
∈
V
\
{
1
}
i
∈
V
∑
y
i
1
k
=
0
,
∀
k
∈
V
\
{
1
}
i
∈
V
∑
y
ik
k
=
1
,
∀
k
∈
V
\
{
1
}
j
∈
V
∑
y
kj
k
=
1
,
∀
k
∈
V
\
{
1
}
i
∈
V
∑
y
ij
k
−
i
∈
V
∑
y
ji
k
=
0
,
∀
j
,
k
∈
V
\
{
1
}
,
j
=
k
最后一行表示不是该顾客的货物在经过顾客的时候不会被留下,解释如下:
∑
i
∈
V
y
i
j
k
——从任意点
i
到
j
的
k
的流量的和
∑
i
∈
V
y
j
i
k
——从
j
到任意点
i
的
k
的流量的和
\sum_{i \in V} y_{ij}^k——从任意点i到j的k的流量的和 \\ \sum_{i \in V} y_{ji}^k——从j到任意点i的k的流量的和 \\
i
∈
V
∑
y
ij
k
——
从任意点
i
到
j
的
k
的流量的和
i
∈
V
∑
y
ji
k
——
从
j
到任意点
i
的
k
的流量的和
第k种货物只会在k点被留下,如果第k种货物还没被卸下,被从某一点i带到了j点,则有
∑
i
∈
V
y
i
j
k
=
1
\sum_{i \in V} y_{ij}^k=1
i
∈
V
∑
y
ij
k
=
1
而它不会被留下,会被带到下一个点,所以有
∑
i
∈
V
y
j
i
k
=
1
\sum_{i \in V} y_{ji}^k=1
i
∈
V
∑
y
ji
k
=
1
如果第k种货物已经被卸货了,没有被带来j点,显然有
∑
i
∈
V
y
i
j
k
=
∑
i
∈
V
y
j
i
k
=
0
\sum_{i \in V} y_{ij}^k=\sum_{i \in V} y_{ji}^k=0
i
∈
V
∑
y
ij
k
=
i
∈
V
∑
y
ji
k
=
0
继而有
∑
i
∈
V
y
i
j
k
−
∑
i
∈
V
y
j
i
k
=
0
\sum_{i \in V} y_{ij}^k-\sum_{i \in V} y_{ji}^k=0
i
∈
V
∑
y
ij
k
−
i
∈
V
∑
y
ji
k
=
0
非线性整数规划
一般非线性混合整数规划(MINLP)问题可表示为:
m
i
n
f
(
x
,
y
)
min \ f(x,y)
min
f
(
x
,
y
)
s
.
t
.
s.t.
s
.
t
.
g
i
(
x
,
y
)
≤
b
i
,
i
=
1
,
…
,
m
x
∈
X
,
∈
Y
g_i(x,y) \le b_i, i=1,…,m \\ x\in X , \in Y
g
i
(
x
,
y
)
≤
b
i
,
i
=
1
,
…
,
m
x
∈
X
,
∈
Y
式中:
f
,
g
i
——
R
n
+
q
上的实值函数
X
——
Z
n
的子集
Y
——
R
q
的一个子集
f,g_i—— \mathbb R^{n+q}上的实值函数 \\ X——\mathbb Z^n的子集 \\ Y——\mathbb R^q的一个子集
f
,
g
i
——
R
n
+
q
上的实值函数
X
——
Z
n
的子集
Y
——
R
q
的一个子集
当(MINLP)中没有连续变量
y
y
y
时,就是一个(纯)非线性整数规划(NLIP):
m
i
n
f
(
x
)
min \ f(x)
min
f
(
x
)
s
.
t
.
s.t.
s
.
t
.
g
i
(
x
)
≤
b
i
,
i
=
1
,
…
,
m
x
∈
X
g_i(x) \le b_i,i=1,…,m \\ x \in X
g
i
(
x
)
≤
b
i
,
i
=
1
,
…
,
m
x
∈
X
投资组合
设市场有
nn
n
种股票和一种无风险资产,投资者把初始财富
W0
W_0
W
0
投资于这
nn
n
种股票和一种无风险资产,以保证在平均收益达到一定水平的条件下是投资风险最小。
设
X
i
X_i
X
i
是一随机变量,表示第
i
i
i
种股票每手未来的价值,
(
X
1
,
…
,
X
n
)
(X_1,…,X_n)
(
X
1
,
…
,
X
n
)
的期望和协方差为
μ
i
=
E
(
X
i
)
,
σ
i
j
=
C
o
v
(
X
i
,
X
j
)
,
i
,
j
=
1
,
…
,
n
\mu_i =E(X_i),\sigma_{ij} = Cov(X_i,X_j),i,j=1,…,n
μ
i
=
E
(
X
i
)
,
σ
ij
=
C
o
v
(
X
i
,
X
j
)
,
i
,
j
=
1
,
…
,
n
设
x
i
x_i
x
i
是整数变量,表示投资于第
i
i
i
种股票的手数,
x
=
(
x
1
,
…
,
x
n
)
T
x=(x_1,…,x_n)^T
x
=
(
x
1
,
…
,
x
n
)
T
是投资组合决策变量,其对应的随机收益为
P
s
(
x
)
=
∑
i
=
1
n
x
i
X
i
P_s(x)=\sum_{i=1}^n x_iX_i
P
s
(
x
)
=
∑
i
=
1
n
x
i
X
i
。则投资组合收益
P
s
(
x
)
P_s(x)
P
s
(
x
)
的均值和方差分别为
s
(
x
)
=
E
[
P
s
(
x
)
]
=
∑
i
=
1
n
μ
i
x
i
V
(
x
)
=
V
a
r
(
P
s
(
x
)
)
=
∑
i
=
1
n
∑
j
=
1
n
x
i
x
j
σ
i
j
=
x
T
C
x
s(x)=E[P_s(x)]=\sum_{i=1}^n\mu_ix_i \\ V(x)=Var(P_s(x))=\sum_{i=1}^n\sum_{j=1}^nx_ix_j\sigma_{ij}=x^TCx
s
(
x
)
=
E
[
P
s
(
x
)]
=
i
=
1
∑
n
μ
i
x
i
V
(
x
)
=
Va
r
(
P
s
(
x
))
=
i
=
1
∑
n
j
=
1
∑
n
x
i
x
j
σ
ij
=
x
T
C
x
其中
C
=
(
σ
i
j
)
(
n
×
n
)
C=(\sigma_{ij})_{(n \times n)}
C
=
(
σ
ij
)
(
n
×
n
)
表示协方差矩阵。设
r
r
r
是无风险投资的收益率,
b
=
(
b
1
,
…
,
b
n
)
T
b=(b_1,…,b_n)^T
b
=
(
b
1
,
…
,
b
n
)
T
是当前的股票价格。注意到投资者在无风险资产上的投资额为
x
0
=
(
W
0
−
∑
i
=
1
n
b
i
X
i
)
x_0=(W_0-\sum_{i=1}^nb_iX_i)
x
0
=
(
W
0
−
∑
i
=
1
n
b
i
X
i
)
。设交易费用为
c
(
x
)
=
∑
i
=
1
n
c
i
(
x
i
)
c(x)=\sum_{i=1}^nc_i(x_i)
c
(
x
)
=
∑
i
=
1
n
c
i
(
x
i
)
,则投资组合的净收益为
R
(
x
)
=
s
(
x
)
+
r
x
0
−
∑
i
=
1
n
c
i
(
x
i
)
=
∑
i
=
1
n
[
(
μ
i
−
r
b
i
)
x
i
−
c
i
(
x
i
)
]
+
r
W
0
R(x)=s(x)+rx_0-\sum_{i=1}^nc_i(x_i)=\sum_{i=1}^n[(\mu_i-rb_i)x_i-c_i(x_i)]+rW_0
R
(
x
)
=
s
(
x
)
+
r
x
0
−
i
=
1
∑
n
c
i
(
x
i
)
=
i
=
1
∑
n
[(
μ
i
−
r
b
i
)
x
i
−
c
i
(
x
i
)]
+
r
W
0
从而均值-方差投资组合模型(MV):
m
i
n
V
(
x
)
=
x
T
C
x
minV(x)=x^TCx
minV
(
x
)
=
x
T
C
x
s
.
t
.
s.t.
s
.
t
.
∑
i
=
1
n
[
(
μ
i
−
r
b
i
)
x
i
−
c
i
(
x
i
)
]
+
r
W
0
≥
ϵ
,
b
T
x
≤
W
0
,
x
∈
X
=
{
x
∈
Z
n
∣
l
i
≤
x
i
≤
u
i
}
.
\sum_{i=1}^n[(\mu_i-rb_i)x_i-c_i(x_i)]+rW_0 \ge \epsilon, \\ b^Tx\le W_0, \\ x\in X=\{x \in \mathbb Z^n | l_i \le x_i \le u_i\}.
i
=
1
∑
n
[(
μ
i
−
r
b
i
)
x
i
−
c
i
(
x
i
)]
+
r
W
0
≥
ϵ
,
b
T
x
≤
W
0
,
x
∈
X
=
{
x
∈
Z
n
∣
l
i
≤
x
i
≤
u
i
}
.
最大割问题
设
G=
(
V
,
E
)
G=(V,E)
G
=
(
V
,
E
)
是有
nn
n
个顶点的无向图,设边
(i
,
j
)
(i,j)
(
i
,
j
)
上的权为
wi
j
(
w
i
j
=
w
j
i
≥
0
)
w_{ij}(w_{ij}=w_{ji} \ge 0)
w
ij
(
w
ij
=
w
ji
≥
0
)
。图
GG
G
的一个割
(S
,
S
′
)
(S,S^\prime)
(
S
,
S
′
)
是指
nn
n
个顶点的一个分割:
S∩
S
′
=
∅
,
S
∪
S
′
=
V
S \cap S^\prime=\empty,S \cup S^\prime=V
S
∩
S
′
=
∅
,
S
∪
S
′
=
V
。最大割问题是求一个分割
(S
,
S
′
)
(S,S^\prime)
(
S
,
S
′
)
使连接
SS
S
和
S′
S^\prime
S
′
之间的所有边上的权之和最大。
设
x
i
=
1
,
i
∈
S
,
x
i
=
−
1
,
i
∈
S
′
x_i=1,i\in S,x_i=-1,i \in S^\prime
x
i
=
1
,
i
∈
S
,
x
i
=
−
1
,
i
∈
S
′
。则分割
(
S
,
S
′
)
(S,S^\prime)
(
S
,
S
′
)
上的权为:
1
2
(
1
2
∑
i
,
j
=
1
n
w
i
j
−
1
2
∑
i
,
j
=
1
n
w
i
j
x
i
x
j
)
=
1
4
∑
i
,
j
=
1
n
w
i
j
(
1
−
x
i
x
j
)
{1\over2}({1\over2}\sum_{i,j=1}^nw_{ij}-{1\over2}\sum_{i,j=1}^nw_{ij}x_ix_j)={1\over4}\sum_{i,j=1}^nw_{ij}(1-x_ix_j)
2
1
(
2
1
i
,
j
=
1
∑
n
w
ij
−
2
1
i
,
j
=
1
∑
n
w
ij
x
i
x
j
)
=
4
1
i
,
j
=
1
∑
n
w
ij
(
1
−
x
i
x
j
)
故最大割问题可以表示为:
m
a
x
1
4
∑
i
,
j
=
1
n
w
i
j
(
1
−
x
i
x
j
)
max{1\over4}\sum_{i,j=1}^nw_{ij}(1-x_ix_j)
ma
x
4
1
i
,
j
=
1
∑
n
w
ij
(
1
−
x
i
x
j
)
s
.
t
.
s.t.
s
.
t
.
x
∈
{
−
1
,
1
}
n
.
x\in\{-1,1\}^n.
x
∈
{
−
1
,
1
}
n
.