lingo编程求不出全局最优解,请大侠帮帮忙!!!
model:sets:
shengshi/1..13/;
zhibiao/1..6/:a;
links(shengshi,zhibiao):x;
endsets
data:
x=
0.099599 0.104095 0.021186 0.489849 0.031419 0.399601
0.012222 0.006320 0.035075 0.558043 0.253776 0.465170
0.016260 0.004213 0.084423 0.631442 0.375174 0.535579
0.004587 0.000000 0.086154 0.557522 0.210591 0.464721
0.039880 0.015333 0.077921 1.000000 0.488760 0.888523
0.003290 0.002399 0.023441 0.299844 1.000000 0.217814
0.021750 0.023296 0.055727 0.635086 0.657561 0.538723
1.000000 1.000000 1.000000 0.000000 0.000000 0.430589
0.070963 0.277539 0.385947 0.153566 0.014757 0.000000
0.038164 0.038373 0.024990 0.489849 0.031159 1.000000
0.000000 0.008735 0.015259 0.288912 0.037009 0.040918
0.057181 0.038508 0.254109 0.184279 0.093160 0.052246
0.048211 0.009641 0.000000 0.387819 0.135834 0.118513;
enddata
max=
(@sum(shengshi(i):
(@sum(links(i,j):a(j)*x(i,j))-@sum(shengshi(i):
@sum(links(i,j):a(j)*x(i,j)))/13)^2)/12)^(1/2);
@sum(zhibiao(j):a(j)^2)=1;
@for(zhibiao(j):a(j)>-1);
@for(zhibiao(j):a(j)<1);
@for(zhibiao(j):@free(a(j)));
end
求不出全局最优解,请大侠帮帮忙!!! 运算时间太长,你能否增加一个初始值就好了 Global optimal solution found.
Objective value: 0.7272518
Objective bound: 0.7272527
Infeasibilities: 0.000000
Extended solver steps: 38843
Total solver iterations: 7561347
Variable Value Reduced Cost
A( 1) 0.1248020 0.000000
A( 2) 0.1216772 0.000000
A( 3) 0.1621721 0.000000
A( 4) 0.6318675 0.000000
A( 5) 0.3868056 0.000000
A( 6) 0.6280479 0.000000
X( 1, 1) 0.9959900E-01 0.000000
X( 1, 2) 0.1040950 0.000000
X( 1, 3) 0.2118600E-01 0.000000
X( 1, 4) 0.4898490 0.000000
X( 1, 5) 0.3141900E-01 0.000000
X( 1, 6) 0.3996010 0.000000
X( 2, 1) 0.1222200E-01 0.000000
X( 2, 2) 0.6320000E-02 0.000000
X( 2, 3) 0.3507500E-01 0.000000
X( 2, 4) 0.5580430 0.000000
X( 2, 5) 0.2537760 0.000000
X( 2, 6) 0.4651700 0.000000
X( 3, 1) 0.1626000E-01 0.000000
X( 3, 2) 0.4213000E-02 0.000000
X( 3, 3) 0.8442300E-01 0.000000
X( 3, 4) 0.6314420 0.000000
X( 3, 5) 0.3751740 0.000000
X( 3, 6) 0.5355790 0.000000
X( 4, 1) 0.4587000E-02 0.000000
X( 4, 2) 0.000000 0.000000
X( 4, 3) 0.8615400E-01 0.000000
X( 4, 4) 0.5575220 0.000000
X( 4, 5) 0.2105910 0.000000
X( 4, 6) 0.4647210 0.000000
X( 5, 1) 0.3988000E-01 0.000000
X( 5, 2) 0.1533300E-01 0.000000
X( 5, 3) 0.7792100E-01 0.000000
X( 5, 4) 1.000000 0.000000
X( 5, 5) 0.4887600 0.000000
X( 5, 6) 0.8885230 0.000000
X( 6, 1) 0.3290000E-02 0.000000
X( 6, 2) 0.2399000E-02 0.000000
X( 6, 3) 0.2344100E-01 0.000000
X( 6, 4) 0.2998440 0.000000
X( 6, 5) 1.000000 0.000000
X( 6, 6) 0.2178140 0.000000
X( 7, 1) 0.2175000E-01 0.000000
X( 7, 2) 0.2329600E-01 0.000000
X( 7, 3) 0.5572700E-01 0.000000
X( 7, 4) 0.6350860 0.000000
X( 7, 5) 0.6575610 0.000000
X( 7, 6) 0.5387230 0.000000
X( 8, 1) 1.000000 0.000000
X( 8, 2) 1.000000 0.000000
X( 8, 3) 1.000000 0.000000
X( 8, 4) 0.000000 0.000000
X( 8, 5) 0.000000 0.000000
X( 8, 6) 0.4305890 0.000000
X( 9, 1) 0.7096300E-01 0.000000
X( 9, 2) 0.2775390 0.000000
X( 9, 3) 0.3859470 0.000000
X( 9, 4) 0.1535660 0.000000
X( 9, 5) 0.1475700E-01 0.000000
X( 9, 6) 0.000000 0.000000
X( 10, 1) 0.3816400E-01 0.000000
X( 10, 2) 0.3837300E-01 0.000000
X( 10, 3) 0.2499000E-01 0.000000
X( 10, 4) 0.4898490 0.000000
X( 10, 5) 0.3115900E-01 0.000000
X( 10, 6) 1.000000 0.000000
X( 11, 1) 0.000000 0.000000
X( 11, 2) 0.8735000E-02 0.000000
X( 11, 3) 0.1525900E-01 0.000000
X( 11, 4) 0.2889120 0.000000
X( 11, 5) 0.3700900E-01 0.000000
X( 11, 6) 0.4091800E-01 0.000000
X( 12, 1) 0.5718100E-01 0.000000
X( 12, 2) 0.3850800E-01 0.000000
X( 12, 3) 0.2541090 0.000000
X( 12, 4) 0.1842790 0.000000
X( 12, 5) 0.9316000E-01 0.000000
X( 12, 6) 0.5224600E-01 0.000000
X( 13, 1) 0.4821100E-01 0.000000
X( 13, 2) 0.9641000E-02 0.000000
X( 13, 3) 0.000000 0.000000
X( 13, 4) 0.3878190 0.000000
X( 13, 5) 0.1358340 0.000000
X( 13, 6) 0.1185130 0.000000
Row Slack or Surplus Dual Price
1 0.7272518 1.000000
2 0.000000 0.3636259
3 1.124802 0.000000
4 1.121677 0.000000
5 1.162172 0.000000
6 1.631867 0.000000
7 1.386806 0.000000
8 1.628048 0.000000
9 0.8751980 0.000000
10 0.8783228 0.000000
11 0.8378279 0.000000
12 0.3681325 0.000000
13 0.6131944 0.000000
14 0.3719521 0.000000 运算了12分钟才计算出来,给他一个初始值就好了! 学习了 呵呵 有很多时候都是求不出最优解的,局部最优就可以用了 ,我看了你的程序,其中max里的sum有对i求了两次和,你看看能不能再改改,求求试试 先在限制条件下得出最低值,之后运行lingo程序,当运行到20-30分钟时,人为的终止求解(按下Interrupt Solver),此时运行的解与目标函数的最优解很相近!可认为是最优解!…… 哇,都是高手啊 选择全局最优解,然后就是时间的问题了 但是 我设置全局求解时:两三秒就停止了
出现错误提示
还有 上面的 全局的做大值还没有局部做大的大 为什么!!!
页:
[1]