AMPL 多差产品容量限制运输模型

建立多产品的模型,并且需要满足两点间的运输量不能超过两点间车辆的运载量条件

已知条件

(1)两点间车辆运载量默认625

(2)三种产品Bands Coils Plate的单位运费如下

三种产品不同两点间的运输费率:

bands产品运费率:
       FRA DET LAN WIN STL FRE LAF
GARY   30  10  8   10   11 71   6
CLEV   22  7   10  7    21 82   13
PITT   19  11  12  10   24 83   15 

(3)mode模型

set ORIG; #起始点
set DEST; #目的点
set prod; #三种产品
param supply {ORIG,prod} >= 0; #和始发站及产品有关,不同产品供应量不一样的
param demand {DEST,prod} >= 0; #不同目的站,不同产品的需求不一样
#运载量限制条件
param limit; #运载量是和两点间有关的
param cost {ORIG,DEST,prod} >= 0;
var Trans {ORIG,DEST,prod} >= 0;

minimize Total_Cost:
sum {i in ORIG,j in DEST,p in prod} cost[i,j,p] * Trans[i,j,p];
#不同始发站不同产品发往所有目的站,不能超过对应的产品的供应量
subject to Supply {i in ORIG,p in prod}:
sum {j in DEST} Trans[i,j,p] <= supply[i,p];
subject to Demand {j in DEST,p in prod}:
sum {i in ORIG} Trans[i,j,p] <= supply[i,p];

subject to capacity_limit{}i in ORIG,j in DEST:
sum {p in prod} Trans[i,j,p] <= limit;

set ORIG;#
set DEST;
set LINKS:= {i in ORIG,j in DEST};
param supply {ORIG} >= 0;
param demand {DEST} >= 0;
param cost {LINKS} >= 0;
var Trans {LINKS} >= 0;
minimize Total_Cost:
sum {(i,j) in LINKS} cost[i,j] * Trans[i,j];
subject to Supply {i in ORIG}:
sum {(i,j) in LINKS} Trans[i,j] <= supply[i];
subject to Demand {j in DEST}:
sum {(i,j) in LINKS} Trans[i,j] = demand[j];

(4)data模型

set ORIG := GARY CLEV PITT ;
set DEST := FRA DET LAN WIN STL FRE LAF ;
set prod := bands coils plate ;
param supply (tr): GARY CLEV PITT :=
				bands  400     700     800
						coils    800  1600  1800
						plate  200     300     300 ;
param demand (tr): FRA DET LAN WIN STL FRE LAF :=
					bands    300  300  100    75    650  225  250
					coils        500 750    400 250    950 850  500
					plate      100 100         0    50    200 100  250 ;
param limit :=625 ;
param cost :=
	[*,*,bands]: FRA DET LAN WIN STL FRE LAF :=
			GARY  30    10        8     10      11     71      6
			CLEV    22     7      10      7        21    82     13
			PITT     19    11      12    10      25     83     15
	[*,*,coils]: FRA DET LAN WIN STL FRE LAF :=
		GARY 39     14      11     14    16     82     8
		CLEV  27        9      12        9    26     95  17
		PITT    24     14      17      13  28     99    20

	[*,*,plate]: FRA DET LAN WIN STL FRE LAF :=
		GARY 41     15      12     16     17     86     8
		CLEV 29     9        13        9     28     99  18
    PITT 26     14      17      13     31 104    20 ;

Go 学习路线,更多文件已被GitHub收录https://github.com/metashops/GoFamily

在这里插入图片描述

  • 0
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
车辆路径(VRP)模型是一种基于运输问题的优化方法。它是指在有限的时间、资源和运输成本的限制条件下,找到最佳的路线安排,使得所有配送点都被访问并以最优的方式完成配送任务。 在VRP模型AMPL案例题中,我们需要建立一个数学模型来解决一个具体的配送问题。假设有一辆货车要在一个城市的多个配送点之间进行配送,每个配送点都有一定数量的货物需要送达。货车有一定的运载能力,每个配送点到另一个配送点之间存在不同的距离和交通情况。 首先,需要定义一些参数,如每个配送点的位置坐标、货物数量、货车的运载能力、货车的最大行驶距离等。然后,需要定义一些变量,如每个配送点是否被访问、每个配送点之间的路径等。 接着,可以建立目标函数,即最小化货车的总行驶距离或最大化货物的配送效率,根据具体问题来确定。 在建立好目标函数后,还需要加入一些约束条件。例如,每个配送点仅能访问一次,货车的运载能力不能超过限制,货车的行驶距离不能超过限制等。 最后,使用AMPL软件求解该问题。AMPL是一种用于数学规划的建模语言,可以通过定义参数、变量、目标函数和约束条件来建立数学模型,并通过求解器来得到最优解。 通过建立VRP模型,并使用AMPL求解,我们可以得到最优的货车路线安排,从而提高配送效率,降低运输成本,并满足所有的限制条件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值