⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 testfunction11.m

📁 Colonial Competitive Algorithm
💻 M
📖 第 1 页 / 共 2 页
字号:
        %  Returning
        %=====================================================
        f(jj,1) = IAE ;
    end % end of MIMO PI Tuning

    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
elseif funnum == 44 % Azermotor
    f = 40 + x(:,1).^2 + x(:,2).^2 + x(:,3).^2 + x(:,4).^2  -  10*(    cos(2*pi*x(:,1)) + cos(2*pi*x(:,2)) + cos(2*pi*x(:,3)) + cos(2*pi*x(:,4))    );
elseif funnum == 43 %New AzerMotor
    %% %%%%%%%%%%%%%%%%%%%%%%%%% NEW AZERMOTOR %%%%%%%%%%%%%%%%%%%%%%%%%
    close all
    L1 = 6; W1 = 14; % Raxtkan
    L2 = 24; W2 = 5; % Saxte Kabin
    L3 = 24; W3 = 5; % Saxte Shasi
    L4 = 15; W4 = 7; % Rober Assemble
    L5 = 10; W5 = 3; % WC
    L6 = 5 ; W6 = 3; % Health Care
    L7 = 10; W7 = 40; %Main Office
    L8 = 24; W8 = 25; % Assemble Line
    L9 = 5; W9 = 18; % Check Room
    L10 = 24; W10 = 8; % Cabine Painting
    L11 = 4; W11 = 4; % Tools Room
    L12 = 4; W12 = 3; % Batri
    L = 50; W = 50;% Main Factory

    x = [3 43   18 47.5   18 42.5   42.5 46.5   45 41.5   37.5 41.5   45 20   20 20.5     2.5 9   20 4    18 36   8 38.5];
    % x = [x;x;x];

    %     1         2           3       4           5          6        7
    for indexx = 1:size(x,1)
        indexx =1
        x1 = x(indexx,1);
        y1 = x(indexx,2);

        x2 = x(indexx,3);
        y2 = x(indexx,4);

        x3 = x(indexx,5);
        y3 = x(indexx,6);

        x4 = x(indexx,7);
        y4 = x(indexx,8);

        x5 = x(indexx,9);
        y5 = x(indexx,10);

        x6 = x(indexx,11);
        y6 = x(indexx,12);

        x7 = x(indexx,13);
        y7 = x(indexx,14);

        x8 = x(indexx,15);
        y8 = x(indexx,16);

        x9 = x(indexx,17);
        y9 = x(indexx,18);

        x10 = x(indexx,19);
        y10 = x(indexx,20);

        x11 = x(indexx,21);
        y11 = x(indexx,22);

        x12 = x(indexx,23);
        y12 = x(indexx,24);

        M1X = [x1-L1/2   x1+L1/2   x1+L1/2   x1-L1/2   x1-L1/2];    M1Y = [y1-W1/2   y1-W1/2   y1+W1/2   y1+W1/2   y1-W1/2];
        M2X = [x2-L2/2   x2+L2/2   x2+L2/2   x2-L2/2   x2-L2/2];    M2Y = [y2-W2/2   y2-W2/2   y2+W2/2   y2+W2/2   y2-W2/2];
        M3X = [x3-L3/2   x3+L3/2   x3+L3/2   x3-L3/2   x3-L3/2];    M3Y = [y3-W3/2   y3-W3/2   y3+W3/2   y3+W3/2   y3-W3/2];
        M4X = [x4-L4/2   x4+L4/2   x4+L4/2   x4-L4/2   x4-L4/2];    M4Y = [y4-W4/2   y4-W4/2   y4+W4/2   y4+W4/2   y4-W4/2];
        M5X = [x5-L5/2   x5+L5/2   x5+L5/2   x5-L5/2   x5-L5/2];    M5Y = [y5-W5/2   y5-W5/2   y5+W5/2   y5+W5/2   y5-W5/2];
        M6X = [x6-L6/2   x6+L6/2   x6+L6/2   x6-L6/2   x6-L6/2];    M6Y = [y6-W6/2   y6-W6/2   y6+W6/2   y6+W6/2   y6-W6/2];
        M7X = [x7-L7/2   x7+L7/2   x7+L7/2   x7-L7/2   x7-L7/2];    M7Y = [y7-W7/2   y7-W7/2   y7+W7/2   y7+W7/2   y7-W7/2];
        M8X = [x8-L8/2   x8+L8/2   x8+L8/2   x8-L8/2   x8-L8/2];    M8Y = [y8-W8/2   y8-W8/2   y8+W8/2   y8+W8/2   y8-W8/2];
        M9X = [x9-L9/2   x9+L9/2   x9+L9/2   x9-L9/2   x9-L9/2];    M9Y = [y9-W9/2   y9-W9/2   y9+W9/2   y9+W9/2   y9-W9/2];
        M10X = [x10-L10/2   x10+L10/2   x10+L10/2   x10-L10/2   x10-L10/2];    M10Y = [y10-W10/2   y10-W10/2   y10+W10/2   y10+W10/2   y10-W10/2];
        M11X = [x11-L11/2   x11+L11/2   x11+L11/2   x11-L11/2   x11-L11/2];    M11Y = [y11-W11/2   y11-W11/2   y11+W11/2   y11+W11/2   y11-W11/2];
        M12X = [x12-L12/2   x12+L12/2   x12+L12/2   x12-L12/2   x12-L12/2];    M12Y = [y12-W12/2   y12-W12/2   y12+W12/2   y12+W12/2   y12-W12/2];

        MX = {M1X M2X M3X M4X M5X M6X M7X M8X M9X M10X M11X M12X}
        MY = {M1Y M2Y M3Y M4Y M5Y M6Y M7Y M8Y M9Y M10Y M11Y M12Y}
        ColorM = [ [1 0 0]; [0 1 0]; [0 0 1]; [.5 .5 1]; [.5 1 .5]; [1 .5 .5]; [.5 .5 .5]; [.25 .25 1]; [.5 .25 1]; [.2 .2 .2]; [.8 .2 .2]; [.2 .8 .2] ]

        figure(2)
        for i = 1:12
            plot(MX{i}, MY{i}, 'MarkerfaceColor', ColorM(i,:))
            hold on
            text( x((2*i-1)) ,x((2*i)) , num2str(i));
        end
        axis([0 L 0 W])
        %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
        %%%%%%%%%%%%%%%%%%%%%%% Defining Inputs and Output %%%%%%%%%%%%%%%%%%%%%%%%%%
        %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
        %============================== Raxtkan 1
        I1_1x = x1; I1_1y = y1;                     O1_1x = x1; O1_1y = y1;
        %============================== Saxte Kabin 2
        I2_1x = x2 - L2/2 + 2; I2_1y = y2 + W2/2;   O2_1x = x2 + L2/2; O2_1y = y2;
        %============================== Saxte Shasi 3
        I3_1x = x3 - L3/2 + 2; I3_1y = y3 + W3/2;   O3_1x = x3 + L3/2; O3_1y = y3;
        %============================== Rober Assemble 4
        I4_1x = x4 - L4/2; I4_1y = y4;              O4_1x = x4 - L4/2; O4_1y = y4;
        %============================== WC 5
        I5_1x = x5; I5_1y = y5;                     O5_1x = x5; O5_1y = y5;
        %============================== Health Care 6
        I6_1x = x6; I6_1y = y6;                     O6_1x = x6; O6_1y = y6;
        %============================== Main Office 7
        I7_1x = x7; I7_1y = y7;                     O7_1x = x7; O7_1y = y7;
        %============================== Assemble Line 8
        I8_1x = x8 - L8/2; I8_1y = y8 - W8/2;       I8_2x = x8 - L8/2; I8_2y = y8 - W8/2 + 3.5;
        I8_3x = x8 - L8/2; I8_3y = y8 - W8/2 + 7;   I8_4x = x8 - L8/2; I8_4y = y8 + 1.5;
        I8_5x = x8 - L8/2; I8_5y = y8 + 3.5;        I8_6x = x8 - L8/2; I8_6y = y8 + 6.5;
        I8_7x = x8 - L8/2; I8_7y = y8 + W8/2 - 2;

        O8_1x = x8 + L8/2; O8_1y = y8 - W8/2;       O8_2x = x8 + L8/2; O8_2y = y8 - W8/2 + 3.5;
        O8_3x = x8 + L8/2; O8_3y = y8 - W8/2 + 7;   O8_4x = x8 + L8/2; O8_4y = y8 + 1.5;
        O8_5x = x8 + L8/2; O8_5y = y8 + 3.5;        O8_6x = x8 + L8/2; O8_6y = y8 + 6.5;
        O8_7x = x8 + L8/2; O8_7y = y8 + W8/2 - 2;   O8_8x = x8 - L8/2; O8_8y = y8 - 2;
        C8x = x8; C8y = y8;
        %============================== Check Room 9
        I9_1x = x9 + L9/2; I9_1y = y9 + W9/2;       O9_1x = x9; O9_1y = y9 - W9/2;
        %============================== Cabine Painting 10
        I10_1x = x10 + L10/2; I10_1y = y10;         O10_1x = x10 - L10/2; O10_1y = y10;
        %============================== Tools Room 11
        I11_1x = x11; I11_1y = y11;                 O11_1x = x11; O11_1y = y11;
        %============================== Batri 12
        I12_1x = x12; I12_1y = y12;                 O12_1x = x12; O12_1y = y12;
        %============================== 1inci Gapi
        IO1x = 32.5;    IO1y = 50;
        %============================== 2inci Gapi
        IO2x = 8;       IO2y = 50;
        %============================== 3inci Gapi
        IO3x = 2.5;     IO3y = 0;
        % =================================================================
        InpuTT_X = {I1_1x   I2_1x   I3_1x   I4_1x   I5_1x   I6_1x   I7_1x ...
            I8_1x   I8_2x   I8_3x   I8_4x   I8_5x   I8_6x   I8_7x   I9_1x   I10_1x  I11_1x  I12_1x};
        InpuTT_Y = {I1_1y   I2_1y   I3_1y   I4_1y   I5_1y   I6_1y   I7_1y ...
            I8_1y   I8_2y   I8_3y   I8_4y   I8_5y   I8_6y   I8_7y   I9_1y   I10_1y  I11_1y  I12_1y};

        OutpuTT_X = {O1_1x   O2_1x   O3_1x   O4_1x   O5_1x   O6_1x   O7_1x ...
            O8_1x   O8_2x   O8_3x   O8_4x   O8_5x   O8_6x   O8_7x   O8_8x   O9_1x   O10_1x  O11_1x  O12_1x};
        OutpuTT_Y = {O1_1y   O2_1y   O3_1y   O4_1y   O5_1y   O6_1y   O7_1y ...
            O8_1y   O8_2y   O8_3y   O8_4y   O8_5y   O8_6y   O8_7y   O8_8y   O9_1y   O10_1y  O11_1y  O12_1y};

        Variables_Matrix = [    I1_1x   I2_1x   I3_1x   I4_1x   I5_1x   I6_1x   I7_1x  I8_1x   I8_2x   I8_3x   I8_4x   I8_5x   I8_6x   I8_7x   I9_1x   I10_1x  I11_1x  I12_1x  O1_1x   O2_1x   O3_1x   O4_1x   O5_1x   O6_1x   O7_1x   O8_1x   O8_2x   O8_3x   O8_4x   O8_5x   O8_6x   O8_7x   O8_8x   O9_1x   O10_1x  O11_1x  O12_1x   IO1x    IO2x     IO3x    C8x ...
            ;I1_1y   I2_1y   I3_1y   I4_1y   I5_1y   I6_1y   I7_1y  I8_1y   I8_2y   I8_3y   I8_4y   I8_5y   I8_6y   I8_7y   I9_1y   I10_1y  I11_1y  I12_1y  O1_1y   O2_1y   O3_1y   O4_1y   O5_1y   O6_1y   O7_1y   O8_1y   O8_2y   O8_3y   O8_4y   O8_5y   O8_6y   O8_7y   O8_8y   O9_1y   O10_1y  O11_1y  O12_1y   IO1y    IO2y     IO3y    C8y]';
        %VariablesMatrix = [    1       2       3       4       5       6       7      8       9       10      11      12      13      14      15      16      17      18      19      20      21      22      23      24      25      26      27      28      29      30      31      32      33      34      35      36      37       38      39       40      41];

        for i=1:size(Variables_Matrix,1)
            i
            hold on
            plot(Variables_Matrix(i,1),Variables_Matrix(i,2),'rs')
        end

        hold off

        Relation_Matrix = zeros(41);

        %     Relation_Matrix = [0  0  0  0  0  0 ...  0  0  0  0  0  0  ;...
        %                        0  0  0  0  0  0 ...  0  0  0  0  0  0  ;...
        %                        .  .  .  .  .  . ...  .  .  .  .  .  .
        %                        .  .  .  .  .  . ...  .  .  .  .  .  .
        %                        .  .  .  .  .  . ...  .  .  .  .  .  .
        %                        0  0  0  0  0  0 ...  0  0  0  0  0  0  ;...
        %                        0  0  0  0  0  0 ...  0  0  0  0  0  0  ;...
        %                        0  0  0  0  0  0 ...  0  0  0  0  0  0  ;...
        %%% ================== O1
        Relation_Matrix(2,19) = 50;     Relation_Matrix(3,19) = 50;     Relation_Matrix(4,19) = 20;     Relation_Matrix(5,19) = 0;
        Relation_Matrix(6,19) = 4;      Relation_Matrix(42,19) = 180;   Relation_Matrix(15,19) = 12;
        Relation_Matrix(16,19) = 40;    Relation_Matrix(17,19) = 2;     Relation_Matrix(18,19) = 4;
        %%% ================== O2
        Relation_Matrix(16,20) = 140;   Relation_Matrix(5,20) = 100;    Relation_Matrix(17,20) = 30;
        %%% ================== O3
        Relation_Matrix(8,21) = 140;    Relation_Matrix(5,21) = 100;    Relation_Matrix(17,21) = 30;
        %%% ================== O4
        Relation_Matrix(32,22) = 60;    Relation_Matrix(5,22) = 40;     Relation_Matrix(17,22) = 10;
        %%% ================== O8
        Relation_Matrix(26,38) = 60;
        Relation_Matrix(27,38) = 32;
        Relation_Matrix(28,38) = 32;
        Relation_Matrix(29,38) = 32;
        Relation_Matrix(30,38) = 32;
        Relation_Matrix(31,38) = 32;
        Relation_Matrix(32,38) = 70;
        Relation_Matrix(33,15) = 100;
        %%% ================== O9
        Relation_Matrix(34,41) = 160;
        %%% ================== 10
        Relation_Matrix(35,9) =160
        %%% ================== 11
        Relation_Matrix(36,2) =30
        Relation_Matrix(36,3) =30
        Relation_Matrix(36,4) =20
        Relation_Matrix(36,40) =200
        Relation_Matrix(36,15) =20
        Relation_Matrix(36,16) =20
        Relation_Matrix(36,18) =5
        %%% ================== 12
        Relation_Matrix(37,14) =30
        %%% ================== 1inci gapi
        Relation_Matrix(38,1) =40
        Relation_Matrix(38,2) =60
        Relation_Matrix(38,3) =60
        Relation_Matrix(38,4) =50
        Relation_Matrix(38,40) =200
        Relation_Matrix(38,18) =20
        %%% ================== 6
        Relation_Matrix(6,2) =3
        Relation_Matrix(6,3) =3
        Relation_Matrix(6,4) =2
        Relation_Matrix(6,40) =10
        Relation_Matrix(6,15) =1
        Relation_Matrix(6,16) =2
        Relation_Matrix(6,17) =.5
        Relation_Matrix(6,18) =1
        Relation_Matrix(6,38) =3
        %%% ================== 7
        Relation_Matrix(7,2) =30
        Relation_Matrix(7,3) =30
        Relation_Matrix(7,4) =20
        Relation_Matrix(7,40) =150
        Relation_Matrix(7,15) =20
        Relation_Matrix(7,16) =30
        Relation_Matrix(7,17) =4
        Relation_Matrix(7,18) =8
        Relation_Matrix

        SUM = 0;

        for ii = 1:size(Relation_Matrix,1)
            for jj = 1:size(Relation_Matrix,1)
                SUM  = SUM + Relation_Matrix(ii,jj) * sum( (Variables_Matrix(:,ii)-Variables_Matrix(:,jj)).^2 );
            end
            f(index,1) = SUM;
        end
    end
end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -