多目标规划模型|运输问题|生产组织与计划问题|工厂选址问题|设备购置和安装问题|旅行商问题

运输问题的案例及求解

运输问题的Lingo多段式编程

![[Pasted image 20240808202514.png]]

![[Pasted image 20240808202526.png]]

  1. 决策变量
    X i j : A i → B j i = 1 , 2 , … , 6 j = 1 , 2 , … , 8 \begin{array}{} X_{ij}:A_{i}\to B_{j} \\ i=1,2,\dots,6 \\ j=1,2,\dots,8 \end{array} Xij:AiBji=1,2,,6j=1,2,,8
  2. 目标函数
    假设单线运费 C i j C_{ij} Cij
    A i j → B i j : C i j X i j A_{ij}\to B_{ij}:C_{ij}X_{ij} AijBij:CijXij
    总运费:
    m i n   z = ∑ i = 1 6 ∑ j = 1 8 C i j X i j min\ z=\sum_{i=1}^{6}\sum_{j=1}^{8}C_{ij}X_{ij} min z=i=16j=18CijXij
  3. 约束条件
    每个产地的产量限制
    s . t   ∑ j 8 x i j ≤ a i i = 1 , 2 , … , 6 s.t\ \sum_{j}^{8}x_{ij}\le a_{i}\quad i=1,2,\dots,6 s.t j8xijaii=1,2,,6
    每个销地的需求的限制
    ∑ i = 1 6 x i j = b j j = 1 , 2 , … , 8 \sum_{i=1}^{6}x_{ij}=b_{j}\quad j=1,2,\dots,8 i=16xij=bjj=1,2,,8
    决策变量的非负约束
    x i j ≥ 0 i = 1 , 2 , … , 6 ; j = 1 , 2 , … , 8 x_{ij}\ge 0\quad i=1,2,\dots,6;\quad j=1,2,\dots,8 xij0i=1,2,,6;j=1,2,,8

  4. x i j x_{ij} xij:表示 A i A_{i} Ai B j B_{j} Bj的运量, i = 1 , 2 , … , 6 j = 1 , 2 , … , 8 i=1,2,\dots,6\quad j=1,2,\dots,8 i=1,2,,6j=1,2,,8
    c i j c_{ij} cij:表示 A i A_{i} Ai B j B_{j} Bj的单位运费, i = 1 , 2 , … , 6 j = 1 , 2 , … , 8 i=1,2,\dots,6\quad j=1,2,\dots,8 i=1,2,,6j=1,2,,8
    a i a_{i} ai:表示产地 A i A_{i} Ai的生产量, i = 1 , 2 , … , 6 i=1,2,\dots,6 i=1,2,,6
    b j b_{j} bj:表示需求地 B j B_{j} Bj的需求量, j = 1 , 2 , … , 8 j=1,2,\dots,8 j=1,2,,8
Lingo多段式编程
model:
sets:
	warehouses/1..6/:capacity;
	vendors/1..8/:demand;
	links(warehouses,vendors):cost,volume;
endsets

min=@sum(links:cost*volume);

@for(vendors(J):@sum(warehouses(I):volume(I,J))=demand(J));
@for(warehouses(I):@sum(vendors(J):volume(I,J))<capacity(I));

data:
	capacity=60 55 51 43 41 52;
	demand=35 37 22 32 41 32 43 38;
	cost=6 2 6 7 4 2 9 5
4 9 5 3 8 5 8 2 
5 2 1 9 7 4 3 3 
7 6 7 3 9 2 7 1
2 3 9 5 7 2 6 5
5 5 2 2 8 1 4 3;
enddata
end
  • warehouses和vendors是两个集合,分别表示产地和需求地
  • links是派生集,是w和v两个的集合派生出来的集合,相当于之间的连线,有单位费用cost和决策变量volume,也就是运量
  • 目标函数就是产地和需求地连线上所产生的费用的总和,对所有线条的集合,就是48条,用sum求和
  • vendors(J):表示对每个需求地, j = 1 , 2 , … , 8 j=1,2,\dots,8 j=1,2,,8,@for对这八家进行循环
    • 对每一个需求地来说,所有产地给他的总量的求和要等于需求量
  • warehouses(I):表示每个产地,对六个产地进行循环
    • 对每个产地来说,给所有需求地的销售总量要小于等于产量
      ![[Pasted image 20240808222637.png]]

![[Pasted image 20240808221333.png]]

运输问题的数学模型

运输问题的描述
![[Pasted image 20240808223427.png]]

产销平衡问题
x i j x_{ij} xij表示产地 A i A_{i} Ai运往销地 B j B_{j} Bj的运量

∑ i = 1 m a i = ∑ j = 1 n b j \sum_{i=1}^{m}a_{i}=\sum_{j=1}^{n}b_{j} i=1mai=j=1nbj
m i n   z = ∑ i = 1 m ∑ j = 1 n c i j x i j min\ z=\sum_{i=1}^{m}\sum_{j=1}^{n}c_{ij}x_{ij} min z=i=1mj=1ncijxij
s . t . ∑ j = 1 n x i j = a i i = 1 , 2 , … , m s.t.\quad \sum_{j=1}^{n}x_{ij}=a_{i}\quad i=1,2,\dots,m s.t.j=1nxij=aii=1,2,,m
∑ i = 1 m x i j = b j j = 1 , 2 , … , n \sum_{i=1}^{m}x_{ij}=b_{j}\quad j=1,2,\dots,n i=1mxij=bjj=1,2,,n
x i j ≥ 0 i = 1 , 2 , … , m j = 1 , 2 , … , n x_{ij}\ge 0\quad i=1,2,\dots,m\quad j=1,2,\dots,n xij0i=1,2,,mj=1,2,,n
产销不平衡问题

  1. 供大于求

∑ i = 1 m a i > ∑ j = 1 n b j \sum_{i=1}^{m}a_{i}>\sum_{j=1}^{n}b_{j} i=1mai>j=1nbj
m i n   z = ∑ i = 1 m ∑ j = 1 n c i j x i j min\ z=\sum_{i=1}^{m}\sum_{j=1}^{n}c_{ij}x_{ij} min z=i=1mj=1ncijxij
s . t . ∑ j = 1 n x i j ≤ a i i = 1 , 2 , … , m s.t.\quad \sum_{j=1}^{n}x_{ij}\le a_{i}\quad i=1,2,\dots,m s.t.j=1nxijaii=1,2,,m
∑ i = 1 m x i j = b j j = 1 , 2 , … , n \sum_{i=1}^{m}x_{ij}=b_{j}\quad j=1,2,\dots,n i=1mxij=bjj=1,2,,n
x i j ≥ 0 i = 1 , 2 , … , m j = 1 , 2 , … , n x_{ij}\ge 0\quad i=1,2,\dots,m\quad j=1,2,\dots,n xij0i=1,2,,mj=1,2,,n
2. 供不应求

∑ i = 1 m a i < ∑ j = 1 n b j \sum_{i=1}^{m}a_{i}<\sum_{j=1}^{n}b_{j} i=1mai<j=1nbj
m i n   z = ∑ i = 1 m ∑ j = 1 n c i j x i j min\ z=\sum_{i=1}^{m}\sum_{j=1}^{n}c_{ij}x_{ij} min z=i=1mj=1ncijxij
s . t . ∑ j = 1 n x i j = a i i = 1 , 2 , … , m s.t.\quad \sum_{j=1}^{n}x_{ij}=a_{i}\quad i=1,2,\dots,m s.t.j=1nxij=aii=1,2,,m
∑ i = 1 m x i j ≤ b j j = 1 , 2 , … , n \sum_{i=1}^{m}x_{ij}\le b_{j}\quad j=1,2,\dots,n i=1mxijbjj=1,2,,n
x i j ≥ 0 i = 1 , 2 , … , m j = 1 , 2 , … , n x_{ij}\ge 0\quad i=1,2,\dots,m\quad j=1,2,\dots,n xij0i=1,2,,mj=1,2,,n

经典的线性规划模型

运输问题(同上)
生产组织与计划问题

![[Pasted image 20240808225619.png]]

m i n   z = ∑ i = 1 m ∑ j = 1 n c i j x i j min\ z=\sum_{i=1}^{m}\sum_{j=1}^{n}c_{ij}x_{ij} min z=i=1mj=1ncijxij
s . t . ∑ j = 1 n t i j x i j ≤ a i i = 1 , 2 , … , m s.t.\quad \sum_{j=1}^{n}t_{ij}x_{ij}\le a_{i}\quad i=1,2,\dots,m s.t.j=1ntijxijaii=1,2,,m
∑ i = 1 m x i j ≥ b j j = 1 , 2 , … , n \sum_{i=1}^{m}x_{ij}\ge b_{j}\quad j=1,2,\dots,n i=1mxijbjj=1,2,,n
x i j ≥ 0 , x i j ∈ I i = 1 , 2 , … , m j = 1 , 2 , … , n x_{ij}\ge 0,x_{ij}\in I \quad i=1,2,\dots,m\quad j=1,2,\dots,n xij0,xijIi=1,2,,mj=1,2,,n

工场选址问题

![[Pasted image 20240808230727.png]]

m i n   z = ∑ i = 1 m ∑ j = 1 n c i j x i j + ∑ i = 1 m a i y i min\ z=\sum_{i=1}^{m}\sum_{j=1}^{n}c_{ij}x_{ij}+\sum_{i=1}^{m}a_{i}y_{i} min z=i=1mj=1ncijxij+i=1maiyi
s . t . ∑ j = 1 n x i j ≤ D i y i i = 1 , 2 , … , m s.t.\quad \sum_{j=1}^{n}x_{ij}\le D_{i}y_{i}\quad i=1,2,\dots,m s.t.j=1nxijDiyii=1,2,,m
∑ i = 1 m x i j ≥ b j j = 1 , 2 , … , n \sum_{i=1}^{m}x_{ij}\ge b_{j}\quad j=1,2,\dots,n i=1mxijbjj=1,2,,n
x i j ≥ 0 y i = { 0 , 1 } . x_{ij}\ge 0 \quad y_{i}=\left\{0,1\right\}. xij0yi={0,1}.
上式中 y i 的意义是 y i = { 1  在地址 i 建厂 0  不在地址 i 建厂 \begin{array}{} 上式中y_{i}的意义是 \\ y_{i}=\left\{\begin{matrix} 1\ 在地址i建厂 \\ 0\ 不在地址i建厂 \end{matrix}\right. \end{array} 上式中yi的意义是yi={1 在地址i建厂0 不在地址i建厂

设备购置和安装问题

![[Pasted image 20240809004515.png]]

m a x   z = ∑ i = 1 m ∑ j = 1 n c i j x i j max\ z=\sum_{i=1}^{m}\sum_{j=1}^{n}c_{ij}x_{ij} max z=i=1mj=1ncijxij
s . t . ∑ j = 1 n x i j ≤ y i + a i i = 1 , 2 , … , m s.t.\quad \sum_{j=1}^{n}x_{ij}\le y_{i}+a_{i}\quad i=1,2,\dots,m s.t.j=1nxijyi+aii=1,2,,m
∑ i = 1 m x i j ≤ b j j = 1 , 2 , … , n \sum_{i=1}^{m}x_{ij}\le b_{j}\quad j=1,2,\dots,n i=1mxijbjj=1,2,,n
∑ i = 1 m p i y i ≤ M \sum_{i=1}^{m}p_{i}y_{i}\le M i=1mpiyiM
x i j ≥ 0 , x i j ∈ I x_{ij}\ge 0,\quad x_{ij}\in I xij0,xijI

旅行商问题

![[Pasted image 20240809004639.png]]

定义
x i j = { 1 货郎选择的路线包含从 A i 到 A j 的路径 0 否则 x_{ij}=\left\{\begin{matrix} 1\quad 货郎选择的路线包含从A_{i}到A_{j}的路径 \\ 0\quad 否则 \end{matrix}\right. xij={1货郎选择的路线包含从AiAj的路径0否则
则相应的模型为
$$

min\ z=\sum_{i=1}{n}\sum_{j=1}{n}d_{ij}x_{ij}


s.t.\left{\begin{matrix}
\sum_{j=1}^{n}x_{ij}=1,\qquad i=1,2,\dots,n \
\sum_{i=1}^{n}x_{ij}=1,\qquad j=1,2,\dots,n \
\sum_{i,j\in S}^{n}x_{ij}\le |S|-1,2\le |S|\le n-1,S\subset\left{1,2,\dots,n\right}
\end{matrix}\right.

x_{ij}\in \left{0,1\right},\quad i,j=1,2,\dots,n,\quad i\ne j
$$
|S|表示的是集合S中点的总数,表示每S个元素之间路径的个数不超过S-1
当S取3时,三个元素之间最多只有两条路
可以回避掉自回路

多目标规划模型及主要解法

多目标规划模型

在许多实际问题中,衡量一个方案的好坏标准往往不止一个。这一类问题统称为多目标最优化问题或多目标规划问题
![[Pasted image 20240809011031.png]]

设该厂每周生产布料 A 1 , A 2 , A 3 A_{1},A_{2},A_{3} A1,A2,A3的小时数为 x 1 , x 2 , x 3 x_{1},x_{2},x_{3} x1,x2,x3,总利润为 y 1 = f 1 ( x ) y_{1}=f_{1}(x) y1=f1(x),总能耗为 y 2 = f 2 ( x ) y_{2}=f_{2}(x) y2=f2(x),其中 x = ( x 1 , x 2 , x 3 ) T x=(x_{1},x_{2},x_{3})^{T} x=(x1,x2,x3)T,则上述问题的数学模型为:
m i n y 1 = − f 1 ( x ) m i n y 2 = f 2 ( x ) s . t . { x 1 + x 2 + x 3 ≤ 80 1.2 × 0.4 x 1 + 1.3 × 0.5 x 2 + 1.4 × 0.36 x 3 ≤ 160 0 ≤ x 1 ≤ 100 , 0 ≤ x 2 ≤ 100 , 0 ≤ x 3 ≤ 100 y 1 = − f 1 ( x ) = 0.15 × 400 x 1 + 0.13 × 510 x 2 + 0.20 × 360 x 3 y 2 = f 2 ( x ) = 1.2 × 0.4 x 1 + 1.3 × 0.51 x 2 + 1.4 × 0.36 x 3 \begin{array}{} min\quad y_{1}=-f_{1}(x) \\ min\quad y_{2}=f_{2}(x) \\ s.t.\left\{\begin{matrix} x_{1}+x_{2}+x_{3}\le 80 \\ 1.2\times 0.4x_{1}+1.3\times 0.5x_{2}+1.4\times 0.36x_{3}\le 160 \\ 0\le x_{1}\le 100,0\le x_{2}\le 100,0\le x_{3}\le 100 \end{matrix}\right. \\ y_{1}=-f_{1}(x)=0.15\times 400x_{1}+0.13\times 510x_{2}+0.20\times 360x_{3} \\ y_{2}=f_{2}(x)=1.2\times 0.4x_{1}+1.3\times 0.51x_{2}+1.4\times 0.36x_{3} \end{array} miny1=f1(x)miny2=f2(x)s.t. x1+x2+x3801.2×0.4x1+1.3×0.5x2+1.4×0.36x31600x1100,0x2100,0x3100y1=f1(x)=0.15×400x1+0.13×510x2+0.20×360x3y2=f2(x)=1.2×0.4x1+1.3×0.51x2+1.4×0.36x3

多目标规划模型解法

直接解法和间接解法
常用的多为间接解法,根据问题的实际背景和特征,设法将多目标优化问题转化为单目标优化问题

主要目标法

在多目标优化问题中,若能从p个目标中,确定一个目标为主要目标,例如 f 1 ( x ) f_{1}(x) f1(x),而把其余目标作为次要目标,并根据实际情况,确定适当的界限值,这样就可以把次要目标作为约束处理,而将多目标优化问题转化为求解线性或非线性规划问题
m i n   f 1 ( x ) s . t . { g i ( x ) ≤ 0 , i = 1 , 2 , … , m f j ( x ) ≤ a j , j = 2 , 3 , … , p \begin{array}{} min\ f_{1}(x) \\ s.t.\left\{\begin{matrix} g_{i}(x)\le 0,i=1,2,\dots,m \\ f_{j}(x)\le a_{j},j=2,3,\dots,p \end{matrix}\right. \end{array} min f1(x)s.t.{gi(x)0,i=1,2,,mfj(x)aj,j=2,3,,p
此规划问题的最优解必为原问题的弱有效解。
主要目标法求得的解必是原问题的弱有效解或有效解

分层序列法

把多目标规划问题中的p个目标的重要性进行排序
先以主要目标为目标函数,约束条件不变,求出最优解与最优值
第二次,以次要目标为目标函数,这次在约束条件中,在不牺牲主要目标的最优值的情况下,寻找次要目标的最优值
在第一次主要目标有多个最优解的情况下,第二次来寻找次要目标的最优解

如果第一次的最优解是唯一的,第二次就没有意义了
为防止这种情况出现,第二次主要目标进入约束条件后,会放松一点条件,加上一个宽容值

加权求和法

给两个目标设计权重
0 ≤ w 1 , w 2 ≤ 1 , w 1 + w 2 = 1 0\le w_{1},w_{2}\le 1,\qquad w_{1}+w_{2}=1 0w1,w21,w1+w2=1
目标函数变为
m i n w 1 f 1 ( x ) + w 2 f 2 ( x ) min\quad w_{1}f_{1}(x)+w_{2}f_{2}(x) minw1f1(x)+w2f2(x)
约束条件不变

  • 12
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值