lin2009 发表于 2011-1-6 15:20:37

叠片圆形铁芯最大面积问题(续)-非线性整数规划问题的不同解的比较

本帖最后由 lin2009 于 2011-1-6 21:02 编辑

呵呵,找到了最近发表在《数学实践与认识》期刊上的一篇关于铁芯柱界面优化设计的论文,
《一种电力变压器铁芯柱截面优化设计的模型.pdf》
可以看作是“叠片圆形铁芯最大面积问题(趣味问题)”的实际应用的例子。
http://forum.simwe.com/viewthread.php?tid=961136&extra=page%3D1%26amp%3Bfilter%3Dtype%26amp%3Btypeid%3D353
文中给出了Lingo 10.0 编制的优化程序,并给出了结果。
有兴趣的话,试一试用1stopt来解这个问题。

优化模型在4#。

lin2009 发表于 2011-1-6 15:28:18

想先抛砖引玉,却不料出现如下问题,大家看看是什么原因?版本3.0
仿照文中的程序结构编制了1stopt优化程序如下(未全部用For语句优化代码)
IntParameter x(14);
ParameterDomain = ;
ConstStr
L1 = 5*xl;
L2 = 5*x2;
L3 = 5*x3;
L4 = 5*x4;
L5 = 5*x5;
L6 = 5*x6;
L7 = 5*x7;
L8 = 5*x8;
L9 = 5*x9;
L10 = 5*xl0;
L11 = 5*xll;
L12 = 5*x12;
L13 = 5*x13;
L14 = 5*x14;
ConstStr
rl = sqrt((Ll/2)^2 + wl^2);
r2 = sqrt((L2/2)^2 + (wl+w2)^2);
r3 = sqrt((L3/2)^2 + (wl + w2 + w3)^2);.
r4 = sqrt((L4/2)^2 + (wl + w2 + w3 + w4)^2);
r5 = sqrt((L5/2)^2 + (wl + w2 + w3 + w4 + w5)^2);
r6 = sqrt((L6/2)^2 + (wl + w2 + w3 + w4 + w5 + w6)^2);
r7 = sqrt((L7/2)^2 + (wl + w2 + w3 + w4 + w5 + w6 + w7)^2);
r8 = sqrt((L8/2)^2 + (wl + w2 + w3 + w4 + w5 + w6 + w7 + w8)^2);
r9 = sqrt((L9/2)^2 + (w1 + w2 + w3 + w4 + tw5 + w6 + w7 + w + w9)^2);
r10 = sqrt((L10/2)^2 + (w1 + w2 + w3 + w4 + w5 + w6 + w7 + w8 + w9 + w10)^2);
r11 = sqrt((L11/2)^2 + (w1 + w2 + w3 + w4 + w5 + w6 + W7 + w8 + w9 + w10 + w11)^2);
r12 = sqrt((L12/2)^2 + (w1 + w2 + w3 + w4 + w5 + w6 + w7 + W8 + w9 + w10 + w11 + w12)^2);
r13 = sqrt((L13/2)^2 + (w1 + w2 + w3 + w4 + w5 + w6 + w7 + w8 + w9 + w10 + w11 + w12 + w13)^2);
r14 = sqrt((L14/2)^2 + (w1 + w2 + w3 + w4 + w5 + w6 + w7 + w8 + w9 + w10 + w11 + w12 + w13 + w14)^2);
MaxFunctionSum(i=1:14)(L*w);
sqrt((r1/2)^2 + w1^2) <= 325;
sqrt((r2/2)^2 + (w1 + w2)^2) <= 325;
sqrt((r3/2)^2 + (w1 + w2 + w3)^2) <= 325;
sqrt((r4/2)^2 + (w1 + w2 + w3 + w4)^2) <= 325;
sqrt((r5/2)^2 + (w1 + w2 + w3 + w4 + w5)^2) <= 325;
sqrt((r6/2)^2 + (w1 + w2 + w3 + w4 + w5 + w6)^2) <= 325;
sqrt((r7/2)^2 + (w1 + w2 + w3 + w4 + w5 + w6 + w7)^2) <= 325;
sqrt((r8/2)^2 + (w1 + w2 + w3 + w4 + w5 + w6 + w7 + w8)^2) <= 325;
sqrt((r9/2)^2 + (w1 + w2 + w3 + w4 + w5 + w6 + w7 + w8 + w9)^2) <= 325;
sqrt((r10/2)^2 + (w1 + w2 + w3 + w4 + w5 + w6 + w7 + w8 + w9 + w10)^2) <= 325;
sqrt((r11/2)^2 + (w1 + w2 + w3 + w4 + w5 + w6 + w7 + w8 + w9 + w10 + w11)^2) <= 325;
sqrt((r12/2)^2 + (w1 + w2 + w3 + w4 + w5 + w6 + w7 + w8 + w9 + w10 + w11 + w12)^2) <= 325;
sqrt((r13/2)^2 + (w1 + w2 + w3 + w4 + w5 + w6 + w7 + w8 + w9 + w10 + w11 + w12 + w13)^2) <= 325;
sqrt((r14/2)^2 + (w1 + w2 + w3 + w4 + w5 + w6 + w7 + w8 + w9 + w10 + w11 + w12 + w13 + w14)^2) <= 325;
For(i=1:13)(L[ i + 1 ] <= L[ i ]);
L14 >= 20;
wl >= 13;
运行时,提示“x1”虽被定义,但没有在函数表达式中出现的错误!
是不是3.0不能进行嵌套定义,如
ConstStr
L1 = 5*xl;
rl = sqrt((Ll/2)^2 + wl^2);

shamohu 发表于 2011-1-6 18:32:17

粗看了下,两段ConstStr定义中“,”与“;”用错了,如:
ConstStr
L1 = 5*xl;
L2 = 5*x2;
L3 = 5*x3;
L4 = 5*x4;
L5 = 5*x5;
L6 = 5*x6;
L7 = 5*x7;
L8 = 5*x8;
L9 = 5*x9;
L10 = 5*xl0;
L11 = 5*xll;
L12 = 5*x12;
L13 = 5*x13;
L14 = 5*x14;
应该为:
ConstStr
L1 = 5*xl,
L2 = 5*x2,
L3 = 5*x3,
L4 = 5*x4,
L5 = 5*x5,
L6 = 5*x6,
L7 = 5*x7,
L8 = 5*x8,
L9 = 5*x9,
L10 = 5*xl0,
L11 = 5*xll,
L12 = 5*x12,
L13 = 5*x13,
L14 = 5*x14;
另一段也是相同的问题。

另外还有w1好像写成了wl(WL)

lin2009 发表于 2011-1-6 20:51:53

本帖最后由 lin2009 于 2011-1-6 20:56 编辑

优化模型为
$$\max \;\;S = 0.97\cdot\sum\limits_{i = 1}^{14} {{L_i}\cdot{W_i}} $$
$${W_1} \geq \frac{{26}}{2}$$
$${L_i} > {L_{i + 1}}\;\;\;for\;i = 1,2,3..13$$
$${L_{14}} \geq 20$$
$$\bmod \left( {{L_i},5} \right) = 0$$
$${R_i} = \sqrt {{{\left( {\frac{{{L_i}}}{2}} \right)}^2} + {{\left( {\sum\limits_{j = 1}^i {{W_j}} } \right)}^2}} \leq 325\;\;\;for\;\;i = 1,2,3..14$$
Li为整数,且被5整除。

最大值为311117.6。

lin2009 发表于 2011-1-6 20:58:27

本帖最后由 lin2009 于 2011-1-6 21:10 编辑

二楼代码的更正:
IntParameter x(14);
ParameterDomain = [ 0, ];
ConstStr
L1 = 5*x1,
L2 = 5*x2,
L3 = 5*x3,
L4 = 5*x4,
L5 = 5*x5,
L6 = 5*x6,
L7 = 5*x7,
L8 = 5*x8,
L9 = 5*x9,
L10 = 5*x10,
L11 = 5*x11,
L12 = 5*x12,
L13 = 5*x13,
L14 = 5*x14;
ConstStr
r1 = sqrt((L1/2)^2 + w1^2),
r2 = sqrt((L2/2)^2 + (w1+w2)^2),
r3 = sqrt((L3/2)^2 + (w1 + w2 + w3)^2),
r4 = sqrt((L4/2)^2 + (w1 + w2 + w3 + w4)^2),
r5 = sqrt((L5/2)^2 + (w1 + w2 + w3 + w4 + w5)^2),
r6 = sqrt((L6/2)^2 + (w1 + w2 + w3 + w4 + w5 + w6)^2),
r7 = sqrt((L7/2)^2 + (w1 + w2 + w3 + w4 + w5 + w6 + w7)^2),
r8 = sqrt((L8/2)^2 + (w1 + w2 + w3 + w4 + w5 + w6 + w7 + w8)^2),
r9 = sqrt((L9/2)^2 + (w1 + w2 + w3 + w4 + w5 + w6 + w7 + w8 + w9)^2),
r10 = sqrt((L10/2)^2 + (w1 + w2 + w3 + w4 + w5 + w6 + w7 + w8 + w9 + w10)^2),
r11 = sqrt((L11/2)^2 + (w1 + w2 + w3 + w4 + w5 + w6 + w7 + w8 + w9 + w10 + w11)^2),
r12 = sqrt((L12/2)^2 + (w1 + w2 + w3 + w4 + w5 + w6 + w7 + w8 + w9 + w10 + w11 + w12)^2),
r13 = sqrt((L13/2)^2 + (w1 + w2 + w3 + w4 + w5 + w6 + w7 + w8 + w9 + w10 + w11 + w12 + w13)^2),
r14 = sqrt((L14/2)^2 + (w1 + w2 + w3 + w4 + w5 + w6 + w7 + w8 + w9 + w10 + w11 + w12 + w13 + w14)^2);
MaxFunction 0.97*Sum(i = 1:14)(L[ i ]*w[ i ]);
sqrt((r1/2)^2 + w1^2) <= 325;
sqrt((r2/2)^2 + (w1+w2)^2) <= 325;
sqrt((r3/2)^2 + (w1 + w2 + w3)^2) <= 325;
sqrt((r4/2)^2 + (w1 + w2 + w3 + w4)^2) <= 325;
sqrt((r5/2)^2 + (w1 + w2 + w3 + w4 + w5)^2) <= 325;
sqrt((r6/2)^2 + (w1 + w2 + w3 + w4 + w5 + w6)^2) <= 325;
sqrt((r7/2)^2 + (w1 + w2 + w3 + w4 + w5 + w6 + w7)^2) <= 325;
sqrt((r8/2)^2 + (w1 + w2 + w3 + w4 + w5 + w6 + w7 + w8)^2) <= 325;
sqrt((r9/2)^2 + (w1 + w2 + w3 + w4 + w5 + w6 + w7 + w8 + w9)^2) <= 325;
sqrt((r10/2)^2 + (w1 + w2 + w3 + w4 + w5 + w6 + w7 + w8 + w9 + w10)^2) <= 325;
sqrt((r11/2)^2 + (w1 + w2 + w3 + w4 + w5 + w6 + w7 + w8 + w9 + w10 + w11)^2) <= 325;
sqrt((r12/2)^2 + (w1 + w2 + w3 + w4 + w5 + w6 + w7 + w8 + w9 + w10 + w11 + w12)^2) <= 325;
sqrt((r13/2)^2 + (w1 + w2 + w3 + w4 + w5 + w6 + w7 + w8 + w9 + w10 + w11 + w12 + w13)^2) <= 325;
sqrt((r14/2)^2 + (w1 + w2 + w3 + w4 + w5 + w6 + w7 + w8 + w9 + w10 + w11 + w12 + w13 + w14)^2) <= 325;
For(i = 1:13)(L[ i + 1 ] <= L[ i ]);
L14 >= 20;
w1 >= 13;
简化形式:
IntParameter L(14);
ParameterDomain = [ 0, ];
For(i = 1:14)(ConstStr r[ i ] = sqrt((L[ i ]/2)^2 + (sum(j = 1:i)(w[ j ]))^2));
MaxFunction0.97*Sum(i = 1:14)(L[ i ]*w[ i ]);
For(i = 1:14)(sqrt((r[ i ]/2)^2 + (Sum(j = 1:i)(w[ j ]))^2) <= 325);
For(i = 1:13)(L[ i ] > L[ i + 1 ]);
L14 >= 20;
For(i = 1:14)(L[ i ] - 5*round(L[ i ]/5) = 0);
w1 >= 13;
均得不出Ls的最大值。

shamohu 发表于 2011-1-7 15:12:12

参考附件PDF论文及lin2009的代码,Lingo代码如下,不知是否有误,用Lingo11跑了下,最好结果为:286914.6

max=(5*x1)*w1+(5*x2)*w2+(5*x3)*w3+(5*x4)*w4+(5*x5)*w5+(5*x6)*w6+(5*x7)*w7+(5*x8)*w8+(5*x9)*w9+(5*x10)*w10+(5*x11)*w11+(5*x12)*w12+(5*x13)*w13+(5*x14)*w14;
@sqrt(((@sqrt(((5*x1)/2)^2+(w1)^2))/2)^2+(w1)^2)-325<=0;
@sqrt(((@sqrt(((5*x2)/2)^2+(w1+w2)^2))/2)^2+(w1+w2)^2)-325<=0;
@sqrt(((@sqrt(((5*x3)/2)^2+(w1+w2+w3)^2))/2)^2+(w1+w2+w3)^2)-325<=0;
@sqrt(((@sqrt(((5*x4)/2)^2+(w1+w2+w3+w4)^2))/2)^2+(w1+w2+w3+w4)^2)-325<=0;
@sqrt(((@sqrt(((5*x5)/2)^2+(w1+w2+w3+w4+w5)^2))/2)^2+(w1+w2+w3+w4+w5)^2)-325<=0;
@sqrt(((@sqrt(((5*x6)/2)^2+(w1+w2+w3+w4+w5+w6)^2))/2)^2+(w1+w2+w3+w4+w5+w6)^2)-325<=0;
@sqrt(((@sqrt(((5*x7)/2)^2+(w1+w2+w3+w4+w5+w6+w7)^2))/2)^2+(w1+w2+w3+w4+w5+w6+w7)^2)-325<=0;
@sqrt(((@sqrt(((5*x8)/2)^2+(w1+w2+w3+w4+w5+w6+w7+w8)^2))/2)^2+(w1+w2+w3+w4+w5+w6+w7+w8)^2)-325<=0;
@sqrt(((@sqrt(((5*x9)/2)^2+(w1+w2+w3+w4+w5+w6+w7+w8+w9)^2))/2)^2+(w1+w2+w3+w4+w5+w6+w7+w8+w9)^2)-325<=0;
@sqrt(((@sqrt(((5*x10)/2)^2+(w1+w2+w3+w4+w5+w6+w7+w8+w9+w10)^2))/2)^2+(w1+w2+w3+w4+w5+w6+w7+w8+w9+w10)^2)-325<=0;
@sqrt(((@sqrt(((5*x11)/2)^2+(w1+w2+w3+w4+w5+w6+w7+w8+w9+w10+w11)^2))/2)^2+(w1+w2+w3+w4+w5+w6+w7+w8+w9+w10+w11)^2)-325<=0;
@sqrt(((@sqrt(((5*x12)/2)^2+(w1+w2+w3+w4+w5+w6+w7+w8+w9+w10+w11+w12)^2))/2)^2+(w1+w2+w3+w4+w5+w6+w7+w8+w9+w10+w11+w12)^2)-325<=0;
@sqrt(((@sqrt(((5*x13)/2)^2+(w1+w2+w3+w4+w5+w6+w7+w8+w9+w10+w11+w12+w13)^2))/2)^2+(w1+w2+w3+w4+w5+w6+w7+w8+w9+w10+w11+w12+w13)^2)-325<=0;
@sqrt(((@sqrt(((5*x14)/2)^2+(w1+w2+w3+w4+w5+w6+w7+w8+w9+w10+w11+w12+w13+w14)^2))/2)^2+(w1+w2+w3+w4+w5+w6+w7+w8+w9+w10+w11+w12+w13+w14)^2)-325<=0;
5*x2-(5*x1)<=0;
5*x3-(5*x2)<=0;
5*x4-(5*x3)<=0;
5*x5-(5*x4)<=0;
5*x6-(5*x5)<=0;
5*x7-(5*x6)<=0;
5*x8-(5*x7)<=0;
5*x9-(5*x8)<=0;
5*x10-(5*x9)<=0;
5*x11-(5*x10)<=0;
5*x12-(5*x11)<=0;
5*x13-(5*x12)<=0;
5*x14-(5*x13)<=0;
5*x14-20>=0;
w1-13>=0;
@Gin(x1);@Gin(x2);@Gin(x3);@Gin(x4);@Gin(x5);@Gin(x6);@Gin(x7);@Gin(x8);
@Gin(x9);@Gin(x10);@Gin(x11);@Gin(x12);@Gin(x13);@Gin(x14);


结果:

Local optimal solution found.
Objective value:                              286914.3
Objective bound:                              399732.9
Infeasibilities:                              0.000000
Extended solver steps:                            2560
Total solver iterations:                     8072386

                     Variable         Value      Reduced Cost
                           X1      257.0000            35.20220
                           W1      44.03124            0.000000
                           X2      250.0000         -2.936202
                           W2      35.81236            0.000000
                           X3      241.0000         -8.104007
                           W3      29.23779            0.000000
                           X4      231.0000            8.208103
                           W4      24.33056            0.000000
                           X5      219.0000         -2.775089
                           W5      23.26845            0.000000
                           X6      206.0000         -1.743849
                           W6      20.67517            0.000000
                           X7      192.0000            4.680940
                           W7      18.65463            0.000000
                           X8      176.0000         -2.363602
                           W8      17.95241            0.000000
                           X9      159.0000         -2.400687
                           W9      16.03467            0.000000
                            X10      141.0000         0.9970391
                            W10      14.23365            0.000000
                            X11      121.0000            2.302159
                            W11      13.06024            0.000000
                            X12      98.00000         -2.917731
                            W12      11.95777            0.000000
                            X13      73.00000            1.960116
                            W13      9.747003            0.000000
                            X14      42.00000          -0.9435169
                            W14      7.875102            0.000000

lin2009 发表于 2011-1-7 22:09:03

本帖最后由 lin2009 于 2011-1-8 12:00 编辑

用部分穷举法得出如下优化结果:
W = [ 56.789 40.807 27.404 40 30 24.146 20.071 16.956 20.819 16.307 12.518 11.553 7.012 0.46209 ]
L = [ 640   620   600   560   520   480   440   400   340   280   220   140    40    20 ]
X = [ 128   124   120   112   104    96   88   80   68      56   44   28      8      4 ]
S = 0.97*sigma(i=1..14, Li*Wi) = 309619.229097534

shamohu 发表于 2011-1-10 10:56:40

7#数据验证的结果:
S = 0.97*sum(i=1..14, Li*Wi)=0.97*159596.9418=154809.0335

哪儿搞错了?

lin2009 发表于 2011-1-10 11:42:49

本帖最后由 lin2009 于 2011-1-10 11:43 编辑

应该是截面的1/2,即上半部分或下半部分(上下左右均对称)。
从文中的优化模型的约束方程看,(即4#的优化模型)
$${R_i} = \sqrt {{{\left( {\frac{{{L_i}}}{2}} \right)}^2} + {{\left( {\sum\limits_{j = 1}^i {{W_j}} } \right)}^2}} \leq 325\;\;\;for\;\;i = 1,2,3..14$$
所求的面积应该只是截面积的一半。

shamohu 发表于 2011-1-10 13:50:30

有几个约束条件好像不满足,如:
sqrt(((sqrt(((5*x10)/2)^2+(w1+w2+w3+w4+w5+w6+w7+w8+w9+w10)^2))/2)^2+(w1+w2+w3+w4+w5+w6+w7+w8+w9+w10)^2)-325 = 10.30639608 (应该<=0)

lin2009 发表于 2011-1-10 15:36:37

本帖最后由 lin2009 于 2011-1-10 20:22 编辑

可能是变量的定义有出入,下面给出穷举法的Matlab程序。
clear all;
close all;
clc;

tic;
smax = 0; % 记录搜索到的最大截面积
k = 1;   

% 铁芯叠片界面为上下左右对称的。
% 仅研究第一象限内的截面积
% 设铁芯叠压的顺序时沿纵轴(y轴方向),
% 即叠片的宽度方向在x轴,厚度方向在y轴。其长度就是变压器铁芯柱的长度,不是研究对象。
% 示意图如下:

% ....
% -----L3---------|W3
%               |
% -------L2------------|W2
%                      |
% ----------L1--------------|
%                           |   W1
% --------------------------|


% 记录最大截面时的厚度和宽度
opt_W = zeros(1,14);% 厚度
opt_L = zeros(1,14);% 宽度

% 厚度用W表示 (即论文中的宽度)
% 宽度用L表示(即论文中的长度)

% 铁芯叠片的编号顺序从y=0处开始,1,2,3,...14.

% 所有叠片均在圆内,其半径为
R = 325;

% 最顶上(编号为14的叠片宽度最小值)
L14min = 10;

% 未加限制时,编号为1的叠片的宽度最大值
N = floor(R/5)*5;
% 若无限制, 则L1max = N;

% 最底下的叠片(第1级叠片,编号为1)的厚度最小值
W1min = 26/2;

% 对应的叠片宽度的最大值
L1max = floor(sqrt(R^2 - W1min^2)/5)*5;

% 以下是按照每级叠片之间的长度之差为10倍数进行编程的
for L14 = L14min:10:L1max - 13*10
    for L13 = L14 + 10:10:L1max - 12*10
      for L12 = L13 + 10:10:L1max - 11*10
            for L11 = L12 + 10:10:L1max - 10*10
                for L10 = L11 + 10:10:L1max - 9*10
                  for L9 = L10 + 10:10:L1max - 8*10
                        for L8 = L9 + 10:10:L1max - 7*10
                            for L7 = L8 + 10:10:L1max - 6*10
                              for L6 = L7 + 10:10:L1max - 5*10
                                    for L5 = L6 + 10:10:L1max - 4*10
                                        for L4 = L5 + 10:10:L1max - 3*10
                                          for L3 = L4 + 10:10:L1max - 2*10
                                                for L2 = L3 + 10:10:L1max - 1*10
                                                    for L1 = L2 + 10:10:L1max - 0*10
W1 = sqrt(R^2 - L1 ^2);
W2 = sqrt(R^2 - L2 ^2) - W1;
W3 = sqrt(R^2 - L3 ^2) - W2 - W1;
W4 = sqrt(R^2 - L4 ^2) - W3 - W2 - W1;
W5 = sqrt(R^2 - L5 ^2) - W4 - W3 - W2 - W1;
W6 = sqrt(R^2 - L6 ^2) - W5 - W4 - W3 - W2 - W1;
W7 = sqrt(R^2 - L7 ^2) - W6 - W5 - W4 - W3 - W2 - W1;
W8 = sqrt(R^2 - L8 ^2) - W7 - W6 - W5 - W4 - W3 - W2 - W1;
W9 = sqrt(R^2 - L9 ^2) - W8 - W7 - W6 - W5 - W4 - W3 - W2 - W1;
W10 = sqrt(R^2 - L10^2) - W9 - W8 - W7 - W6 - W5 - W4 - W3 - W2 - W1;
W11 = sqrt(R^2 - L11^2) - W10 - W9 - W8 - W7 - W6 - W5 - W4 - W3 - W2 - W1;
W12 = sqrt(R^2 - L12^2) - W11 - W10 - W9 - W8 - W7 - W6 - W5 - W4 - W3 - W2 - W1;
W13 = sqrt(R^2 - L13^2) - W12 - W11 - W10 - W9 - W8 - W7 - W6 - W5 - W4 - W3 - W2 - W1;
W14 = sqrt(R^2 - L14^2) - W13 - W12 - W11 - W10 - W9 - W8 - W7 - W6 - W5 - W4 - W3 - W2 - W1;

% 计算 S = sum(i=1..14, Li*Wi)
Sall = [ W1, W2, W3, W4, W5, W6, W7, W8, W9, W10, W11, W12, W13, W14 ] .*...
       [ L1, L2, L3, L4, L5, L6, L7, L8, L9, L10, L11, L12, L13, L14 ];
S = sum(Sall);

if S >= smax
    opt_L(1, = [ L1, L2, L3, L4, L5, L6, L7, L8, L9, L10, L11, L12, L13, L14 ];
    opt_W(1, = [ W1, W2, W3, W4, W5, W6, W7, W8, W9, W10, W11, W12, W13, W14 ];
    smax = S;
    k = k + 1;
end

                                                    end
                                                end
                                          end
                                        end
                                    end
                              end
                            end
                        end
                  end
                end
            end
      end
    end
end
toc
% 得出最大值后,乘上0.97*4即得到实际的最大值了

lin2009 发表于 2011-1-10 20:02:23

运行时间(Celeron Cpu 2.66GHz,760MB)及最优结果
Elapsed time is 4320.279386 seconds.(1.2小时)
smax =
          80128.3765511941

0.97*4*smax
ans =
          310898.101018633
         
opt_L =
   320   310   300   290   280   260   240   220   200   180   150   120    90    50

opt_W =
Columns 1 through 9
   56.7891   40.8070   27.4039   21.7140   18.2860   30.0000   24.1461   20.0714   16.9563
Columns 10 through 14
   14.4274   17.7129   13.7207   10.2552    8.8409
   
k =
   275

lin2009 发表于 2011-1-10 20:32:17

寻优的次数达19^14 = 7.99E17。
若按文中的步长2.5(5/2)来寻优,则寻优的次数可达 112^14 = 4.88E28。
呵呵,PC算不了啦。
页: [1]
查看完整版本: 叠片圆形铁芯最大面积问题(续)-非线性整数规划问题的不同解的比较