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

运输问题的案例及求解

运输问题的Lingo多段式编程

![[Pasted image 20240808202514.png]]

![[Pasted image 20240808202526.png]]

  1. 决策变量
    Xij:Ai→Bji=1,2,…,6j=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. 目标函数
    假设单线运费CijC_{ij}Cij
    Aij→Bij:CijXij A_{ij}\to B_{ij}:C_{ij}X_{ij} AijBij:CijXij
    总运费:
    min z=∑i=16∑j=18CijXij min\ z=\sum_{i=1}^{6}\sum_{j=1}^{8}C_{ij}X_{ij} min z=i=16j=18CijXij
  3. 约束条件
    每个产地的产量限制
    s.t ∑j8xij≤aii=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=16xij=bjj=1,2,…,8 \sum_{i=1}^{6}x_{ij}=b_{j}\quad j=1,2,\dots,8 i=16xij=bjj=1,2,,8
    决策变量的非负约束
    xij≥0i=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. xijx_{ij}xij:表示AiA_{i}AiBjB_{j}Bj的运量,i=1,2,…,6j=1,2,…,8i=1,2,\dots,6\quad j=1,2,\dots,8i=1,2,,6j=1,2,,8
    cijc_{ij}cij:表示AiA_{i}AiBjB_{j}Bj的单位运费,i=1,2,…,6j=1,2,…,8i=1,2,\dots,6\quad j=1,2,\dots,8i=1,2,,6j=1,2,,8
    aia_{i}ai:表示产地AiA_{i}Ai的生产量,i=1,2,…,6i=1,2,\dots,6i=1,2,,6
    bjb_{j}bj:表示需求地BjB_{j}Bj的需求量,j=1,2,…,8j=1,2,\dots,8j=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,…,8j=1,2,\dots,8j=1,2,,8,@for对这八家进行循环
    • 对每一个需求地来说,所有产地给他的总量的求和要等于需求量
  • warehouses(I):表示每个产地,对六个产地进行循环
    • 对每个产地来说,给所有需求地的销售总量要小于等于产量
      ![[Pasted image 20240808222637.png]]

![[Pasted image 20240808221333.png]]

运输问题的数学模型

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

产销平衡问题
xijx_{ij}xij表示产地AiA_{i}Ai运往销地BjB_{j}Bj的运量

∑i=1mai=∑j=1nbj \sum_{i=1}^{m}a_{i}=\sum_{j=1}^{n}b_{j} i=1mai=j=1nbj
min z=∑i=1m∑j=1ncijxij min\ z=\sum_{i=1}^{m}\sum_{j=1}^{n}c_{ij}x_{ij} min z=i=1mj=1ncijxij
s.t.∑j=1nxij=aii=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=1mxij=bjj=1,2,…,n \sum_{i=1}^{m}x_{ij}=b_{j}\quad j=1,2,\dots,n i=1mxij=bjj=1,2,,n
xij≥0i=1,2,…,mj=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=1mai>∑j=1nbj \sum_{i=1}^{m}a_{i}>\sum_{j=1}^{n}b_{j} i=1mai>j=1nbj
min z=∑i=1m∑j=1ncijxij min\ z=\sum_{i=1}^{m}\sum_{j=1}^{n}c_{ij}x_{ij} min z=i=1mj=1ncijxij
s.t.∑j=1nxij≤aii=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=1mxij=bjj=1,2,…,n \sum_{i=1}^{m}x_{ij}=b_{j}\quad j=1,2,\dots,n i=1mxij=bjj=1,2,,n
xij≥0i=1,2,…,mj=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=1mai<∑j=1nbj \sum_{i=1}^{m}a_{i}<\sum_{j=1}^{n}b_{j} i=1mai<j=1nbj
min z=∑i=1m∑j=1ncijxij min\ z=\sum_{i=1}^{m}\sum_{j=1}^{n}c_{ij}x_{ij} min z=i=1mj=1ncijxij
s.t.∑j=1nxij=aii=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=1mxij≤bjj=1,2,…,n \sum_{i=1}^{m}x_{ij}\le b_{j}\quad j=1,2,\dots,n i=1mxijbjj=1,2,,n
xij≥0i=1,2,…,mj=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]]

min z=∑i=1m∑j=1ncijxij min\ z=\sum_{i=1}^{m}\sum_{j=1}^{n}c_{ij}x_{ij} min z=i=1mj=1ncijxij
s.t.∑j=1ntijxij≤aii=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=1mxij≥bjj=1,2,…,n \sum_{i=1}^{m}x_{ij}\ge b_{j}\quad j=1,2,\dots,n i=1mxijbjj=1,2,,n
xij≥0,xij∈Ii=1,2,…,mj=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]]

min z=∑i=1m∑j=1ncijxij+∑i=1maiyi 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=1nxij≤Diyii=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=1mxij≥bjj=1,2,…,n \sum_{i=1}^{m}x_{ij}\ge b_{j}\quad j=1,2,\dots,n i=1mxijbjj=1,2,,n
xij≥0yi={0,1}. x_{ij}\ge 0 \quad y_{i}=\left\{0,1\right\}. xij0yi={0,1}.
上式中yi的意义是yi={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]]

max z=∑i=1m∑j=1ncijxij max\ z=\sum_{i=1}^{m}\sum_{j=1}^{n}c_{ij}x_{ij} max z=i=1mj=1ncijxij
s.t.∑j=1nxij≤yi+aii=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=1mxij≤bjj=1,2,…,n \sum_{i=1}^{m}x_{ij}\le b_{j}\quad j=1,2,\dots,n i=1mxijbjj=1,2,,n
∑i=1mpiyi≤M \sum_{i=1}^{m}p_{i}y_{i}\le M i=1mpiyiM
xij≥0,xij∈I x_{ij}\ge 0,\quad x_{ij}\in I xij0,xijI

旅行商问题

![[Pasted image 20240809004639.png]]

定义
xij={1货郎选择的路线包含从Ai到Aj的路径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]]

设该厂每周生产布料A1,A2,A3A_{1},A_{2},A_{3}A1,A2,A3的小时数为x1,x2,x3x_{1},x_{2},x_{3}x1,x2,x3,总利润为y1=f1(x)y_{1}=f_{1}(x)y1=f1(x),总能耗为y2=f2(x)y_{2}=f_{2}(x)y2=f2(x),其中x=(x1,x2,x3)Tx=(x_{1},x_{2},x_{3})^{T}x=(x1,x2,x3)T,则上述问题的数学模型为:
miny1=−f1(x)miny2=f2(x)s.t.{x1+x2+x3≤801.2×0.4x1+1.3×0.5x2+1.4×0.36x3≤1600≤x1≤100,0≤x2≤100,0≤x3≤100y1=−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 \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个目标中,确定一个目标为主要目标,例如f1(x)f_{1}(x)f1(x),而把其余目标作为次要目标,并根据实际情况,确定适当的界限值,这样就可以把次要目标作为约束处理,而将多目标优化问题转化为求解线性或非线性规划问题
min f1(x)s.t.{gi(x)≤0,i=1,2,…,mfj(x)≤aj,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≤w1,w2≤1,w1+w2=1 0\le w_{1},w_{2}\le 1,\qquad w_{1}+w_{2}=1 0w1,w21,w1+w2=1
目标函数变为
minw1f1(x)+w2f2(x) min\quad w_{1}f_{1}(x)+w_{2}f_{2}(x) minw1f1(x)+w2f2(x)
约束条件不变

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值