运输问题
把物品从任何产地运到任何销地,并使运输费用最低。所需参数数据有供给量、需求量和单位成本。
min
Z
=
∑
i
∑
j
c
i
j
x
i
j
Z = \sum_i \sum_j c_{ij}x_{ij}
Z=∑i∑jcijxij
st.
∑
j
x
i
j
=
s
i
\sum_j x_{ij} = s_i
∑jxij=si 供给约束
∑
i
x
i
j
=
s
j
\sum_i x_{ij} = s_j
∑ixij=sj 需求约束
例子
网络图
解法
化简的单纯形法p314 略
指派问题
给不同的指派对象指派任务。应符合下列假设:
· 指派对象的数目和任务的数目一致
· 每个对象只被指派一个任务
· 每个任务只能被一个对象完成
· 对象
i
i
i完成任务
j
j
j的成本为
c
i
j
c_{ij}
cij
· 目标是确定如何分配n项任务使总成本最低
min
Z
=
∑
i
∑
j
c
i
j
x
i
j
Z = \sum_i \sum_j c_{ij}x_{ij}
Z=∑i∑jcijxij
st.
∑
j
x
i
j
=
1
\sum_j x_{ij} = 1
∑jxij=1 供给约束
∑
i
x
i
j
=
1
\sum_i x_{ij} = 1
∑ixij=1 需求约束
x
i
j
x_{ij}
xij = 1或0
例子
–用极大值M代替,加入虚拟机器4,转化成下面的成本表:
简便算法:匈牙利算法
从原始成本表开始,
· 每一行减掉行的最小元素(行削减)-> 新表
· 新表的每一列减去列的最小元素(列削减)->新表
· 用直线覆盖所有有零值的行或列,如果新表具备一个完整指派方案的全部0值(每行每列都正好对应着一次指派),则找到最优解,如果没有:
· 未被直线覆盖的数字挑出最小值x,未被覆盖的地方-x, 覆盖的地方不变(先加再减),交点的地方+x( +了两遍再减一遍相当于+一遍),循环直到找到最优可行解