jiiing 发表于 2009-9-5 07:49

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
求不出全局最优解,请大侠帮帮忙!!!

kongfanqing 发表于 2009-9-5 08:32

运算时间太长,你能否增加一个初始值就好了

kongfanqing 发表于 2009-9-5 08:47

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

kongfanqing 发表于 2009-9-5 08:48

运算了12分钟才计算出来,给他一个初始值就好了!

ychexingwuji 发表于 2009-9-5 08:49

学习了 呵呵

formulaone9275 发表于 2009-9-5 08:54

有很多时候都是求不出最优解的,局部最优就可以用了 ,我看了你的程序,其中max里的sum有对i求了两次和,你看看能不能再改改,求求试试

yuan07150215 发表于 2009-9-5 08:58

先在限制条件下得出最低值,之后运行lingo程序,当运行到20-30分钟时,人为的终止求解(按下Interrupt Solver),此时运行的解与目标函数的最优解很相近!可认为是最优解!……

xuyin 发表于 2009-9-5 09:06

哇,都是高手啊

liulongfei 发表于 2009-9-5 09:35

选择全局最优解,然后就是时间的问题了

jiiing 发表于 2009-9-5 12:16

但是 我设置全局求解时:两三秒就停止了
出现错误提示
还有 上面的 全局的做大值还没有局部做大的大  为什么!!!
页: [1]
查看完整版本: lingo编程求不出全局最优解,请大侠帮帮忙!!!