现代生产与物流运作管理(运输安排问题)Cplex求解,OPL语言

编程入门 行业动态 更新时间:2024-10-10 02:18:11

现代生产与物流运作管理(运输安排问题)Cplex求解,OPL<a href=https://www.elefans.com/category/jswz/34/1770116.html style=语言"/>

现代生产与物流运作管理(运输安排问题)Cplex求解,OPL语言

问题描述

某市郊区有个仓库均储存有一种药品,仓库编号分别为. 各仓库储存该药品的储存量分别为. 市区的家医院均需要此种药品,医院的编号分别为. 各医院需求量分别为. 所有仓库的储存总量等于所有医院的需求量。假定从仓库向医院运输单位物品的费用为,求怎样调配才能使总运费最小?

参数设置

i   仓库编号(i=1,2,···,m)

j   医院编号(j=1,2,···,n)

cij  从仓库i(i=1,2,···,m)向医院j(j=1,2,···,n)运输单位药品的费用

xij  从仓库i(i=1,2,···,m)向医院j(j=1,2,···,n)运输药品量

模型建立

表示总运输成本最小:

表示每个仓库运出的药品总量等于其储藏量:

表示每家医院接受的药品总量等于其需求量:

约束每条路线上的运输量非负:

所有仓库的储存总量等于所有医院的需求量:

案例数据

运货量

医院1

医院2

医院3

医院4

存储量

仓库1

3

11

3

10

7

仓库2

1

9

2

8

4

仓库3

7

4

10

5

9

需求量

3

6

5

6

代码

/*********************************************

 * OPL 12.8.0.0 Model

 * Author: Sealand

 * Creation Date: 2022年11月12日 at 上午10:58:48

 *********************************************/

int m = 3;

int n = 4;

int a[1..m] = [7,4,9];

int b[1..n] = [3,6,5,6];

int c[1..m][1..n] =

[[3,11,3,10],

[1,9,2,8],

[7,4,10,5]];

dvar int+ x[1..m][1..n];

dvar float totalcost ;

minimize totalcost;

subject to {

    forall(i in 1..m)

    sum(j in 1..n) x[i][j] == a[i];

   

    forall(j in 1..n)

    sum(i in 1..m) x[i][j] == b[j];

   

    sum(i in 1..m) a[i] == sum(j in 1..n) b[j];

   

    totalcost == sum(i in 1..m,j in 1..n) x[i][j] * c[i][j];

}

求解结果

最小总运费:totalcost = 85;

总运费最小时调度安排:

单位运输成本

医院1

医院2

医院3

医院4

仓库1

2

0

5

0

仓库2

1

0

0

3

仓库3

0

6

0

3

更多推荐

现代生产与物流运作管理(运输安排问题)Cplex求解,OPL语言

本文发布于:2024-02-14 04:11:10,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1761593.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:语言   物流   Cplex   OPL

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!