赞
踩
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\{
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 = [
定义集合
给常量赋值
目标函数的表达
约束条件的表达
模型求解
! 建立加工厂集合及产量;
factory/1..3/:A;
! 建立门市部集合及产量;
shop/1..4/:B;
!建立联系集合及运价和运量,派生集合,双下标变量;
LINK(factory,shop):C,X;
DATA:
A = 7 4 9;
B = 3 6 5 6;
C =
3 11 3 10
1 9 2 8
7 4 10 5;
ENDDATA
m i n z = ∑ ∑ c i j ∗ x i j min z = \sum \sum cij * xij minz=∑∑cij∗xij
MIN = @SUM (LINK(i,j): C(i,j) * X(i,j));
1.产量约束
∑
j
x
i
j
=
a
i
\sum_j xij = ai
∑jxij=ai
@for(factory(i): @sum(shop(j): x(i,j)) = A(i));
2.销量约束
∑
i
x
i
j
=
b
j
\sum_i xij = bj
∑ixij=bj
@for(shop(j): @sum(factory(i): x(i,j)) = b(j));
3.自身约束
x
i
j
≥
0
xij \geq 0
xij≥0
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
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。