当前位置:   article > 正文

lingo-运输问题的数学模型_垃圾运输问题数学建模lingo

垃圾运输问题数学建模lingo

建模

变量

ai表示第i个工厂的加工量
bj表示第j个门市部的销量
cij表示运价,从第i个加工厂到第j个门市部运送一吨糖果的价格
决策变量:xij 从第i个加工厂到第j个门市部的糖果数量

一般形式

m i n z = ∑ ∑ c i j ∗ x i j s . t . { ∑ j x i j = a i ∑ i x i j = b j x i j ≥ 0 min z = \sum \sum cij * xij\\ s.t. \left\{

jxij=aiixij=bjxij0
\right. minz=∑∑cijxijs.t. jxij=aiixij=bjxij0

矩阵形式

A = [ 7 4 9 ] B = [ 3 6 5 6 ] C = [ 3 11 3 10 1 8 2 8 7 4 10 5 ] X = [ x 11 x 12 x 13 x 14 x 21 x 22 x 23 x 24 x 31 x 32 x 33 x 34 ] A = [

749
] \\ B= [
3656
] \\ C=\left [
311310182874105
\right]\\ X = \left [
x11x12x13x14x21x22x23x24x31x32x33x34
\right] A=[749]B=[3656]C= 317118432101085 X= x11x21x31x12x22x32x13x23x33x14x24x34

Lingo 建立模型

方法

定义集合
给常量赋值
目标函数的表达
约束条件的表达
模型求解

定义集合

! 建立加工厂集合及产量;
factory/1..3/:A;
! 建立门市部集合及产量;
shop/1..4/:B;
!建立联系集合及运价和运量,派生集合,双下标变量;
LINK(factory,shop):C,X;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

给常量赋值

DATA:
	A = 7 4 9;
	B = 3 6 5 6;
	C = 
	3 11 3 10
	1 9 2 8
	7 4 10 5;
ENDDATA
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

目标函数的表达

m i n z = ∑ ∑ c i j ∗ x i j min z = \sum \sum cij * xij minz=∑∑cijxij

MIN = @SUM (LINK(i,j): C(i,j) * X(i,j));
  • 1

约束条件的表达

1.产量约束
∑ j x i j = a i \sum_j xij = ai jxij=ai

@for(factory(i): @sum(shop(j): x(i,j)) = A(i));
  • 1

2.销量约束
∑ i x i j = b j \sum_i xij = bj ixij=bj

@for(shop(j): @sum(factory(i): x(i,j)) = b(j));
  • 1

3.自身约束
x i j ≥ 0 xij \geq 0 xij0
lingo 默认非负

完整代码

MODEL:
	SETS:
	factory/1..3/:A;
	shop/1..4/:B;
	LINK(factory,shop):C,X;
	ENDSETS
	
	DATA:
	A = 7 4 9;
	B = 3 6 5 6;
	C = 
	3 11 3 10
	1 9 2 8
	7 4 10 5;
	ENDDATA
	
	MIN = @SUM (LINK(i,j): C(i,j) * X(i,j));
	@for(factory(i): @sum(shop(j): x(i,j)) = A(i));
	@for(shop(j): @sum(factory(i): x(i,j)) = b(j));
END
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/article/detail/55707
推荐阅读
  

闽ICP备14008679号