lingo错误代码11求看哪错了

2025-05-08 16:38:08
推荐回答(1个)
回答1:

略作更改就能运行。不过只能找到局部最优解,全局最优解好像很费时间,你自己可以再试试。
MODEL:

Title Location Problem;

sets:

demand/1..6/:a,b,d;

supply/1..2/:x,y,e;

link(demand,supply):c;

endsets

data:

!locations for the demand(需求点的位置);

a=1.25,8.75,0.5,5.75,3,7.25;

b=1.25,0.75,4.75,5,6.5,7.75;

!quantities of the demand and supply(供需量);

d=3,5,4,7,6,11;e=20,20;

enddata

init:

!initial locations for the supply(初始点);

x,y=5,1,2,7;

endinit

!Objective function(目标);

[OBJ]min=@sum(link(i,j):c(i,j)*((x(j)-a(i))^2+(y(j)-b(i))^2)^(1/2));

!demand constraints(需求约束);

@for(demand(i):[DEMAND_CON]@sum(supply(j):c(i,j))=d(i););

!supply constranints(供应约束);

@for(supply(i):[SUPPLY_CON]@SUM(demand(j):c(j,i))<=e(i); );

@for(supply:@free(X);@free(Y););

END
运行结果:

Local optimal solution found.
Objective value: 85.26604
Infeasibilities: 0.000000
Total solver iterations: 68

Model Title: Location Problem

Variable Value Reduced Cost
A( 1) 1.250000 0.000000
A( 2) 8.750000 0.000000
A( 3) 0.5000000 0.000000
A( 4) 5.750000 0.000000
A( 5) 3.000000 0.000000
A( 6) 7.250000 0.000000
B( 1) 1.250000 0.000000
B( 2) 0.7500000 0.000000
B( 3) 4.750000 0.000000
B( 4) 5.000000 0.000000
B( 5) 6.500000 0.000000
B( 6) 7.750000 0.000000
D( 1) 3.000000 0.000000
D( 2) 5.000000 0.000000
D( 3) 4.000000 0.000000
D( 4) 7.000000 0.000000
D( 5) 6.000000 0.000000
D( 6) 11.00000 0.000000
X( 1) 3.254883 0.000000
X( 2) 7.250000 -0.1853513E-05
Y( 1) 5.652332 0.000000
Y( 2) 7.750000 -0.1114154E-05
E( 1) 20.00000 0.000000
E( 2) 20.00000 0.000000
C( 1, 1) 3.000000 0.000000
C( 1, 2) 0.000000 4.008540
C( 2, 1) 0.000000 0.2051358
C( 2, 2) 5.000000 0.000000
C( 3, 1) 4.000000 0.000000
C( 3, 2) 0.000000 4.487750
C( 4, 1) 7.000000 0.000000
C( 4, 2) 0.000000 0.5535090
C( 5, 1) 6.000000 0.000000
C( 5, 2) 0.000000 3.544853
C( 6, 1) 0.000000 4.512336
C( 6, 2) 11.00000 0.000000

Row Slack or Surplus Dual Price
OBJ 85.26604 -1.000000
DEMAND_CON( 1) 0.000000 -4.837363
DEMAND_CON( 2) 0.000000 -7.158911
DEMAND_CON( 3) 0.000000 -2.898893
DEMAND_CON( 4) 0.000000 -2.578982
DEMAND_CON( 5) 0.000000 -0.8851584
DEMAND_CON( 6) 0.000000 0.000000
SUPPLY_CON( 1) 0.000000 0.000000
SUPPLY_CON( 2) 4.000000 0.000000