请问怎么用lingo求解?

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/25 09:01:09

请问怎么用lingo求解?
请问怎么用lingo求解?

请问怎么用lingo求解?

 

方法一:

model:

    sets:

        Level/1..3/: P, U, Goal;      !有3个优先级别;

        Variable/1..4/: x;                !有4个变量;

        Sn/1..5/: g, dp, dm;           !有5个柔性目标约束;

        Sc(Sn, Variable): C;          !柔性约束系数矩阵(5×4矩阵);

        W(Level, Sn): Wp, Wm;    !偏差权重矩阵(3×5矩阵);

    endsets

    data:

        P=? ? ?;                       !对优先级P赋值;

        Goal=? ? 0;                  !Goal(i)为第i(≤2)个优先级时最优目标值,注:Goal(3)不起作用;

        g=20 20 150 20 900;   !柔性约束常数项矩阵;

        C=1 0 1 0                     !柔性约束系数矩阵;

             0 1 0 1

             3 4 0 0

             0 0 3 4

            10 8 9 7;

        Wp=0 0 1 0 0               !正偏差权重矩阵;

               0 0 0 1 0

               0 0 0 0 0;

        Wm=1 1 1 0 0              !负偏差权重矩阵;

                0 0 0 0 0

                0 0 0 0 1;

    enddata

    min=@sum(Level(i):P(i)*U(i));                                                   !目标函数;

    @for(Level(i):U(i)=@sum(Sn(j):Wp(i,j)*dp(j)+Wm(i,j)*dm(j)));   !求偏差矩阵U;

    @for(Sn(j):@sum(Variable(k):C(j,k)*x(k))+dm(j)-dp(j)=g(j));     !柔性约束;

    @for(Level(i)|i#lt#@size(Level):@bnd(0,U(i),Goal(i)));             !偏差限定在最优值范围内;

end

 

第一级目标计算,P(1),P(2),P(3)分别输入1,0,0,Goal(1)与Goal(2)输入两个较大的值(例如1000),表明这两项约束不起作用.结果如下:

 

  Global optimal solution found.

  Objective value:                              0.000000

 

                                Variable           Value        Reduced Cost

                                   P( 1)        1.000000            0.000000

                                   P( 2)        0.000000            0.000000

                                   P( 3)        0.000000            0.000000

                                   U( 1)        0.000000            1.000000

                                   U( 2)        1000.000            0.000000

                                   U( 3)        520.0000            0.000000

                                   X( 1)        20.00000            0.000000

                                   X( 2)        22.50000            0.000000

                                   X( 3)        0.000000            0.000000

                                   X( 4)        0.000000            0.000000

 

第一级最优偏差为0,进行第二论计算

第二级目标计算,P(1),P(2),P(3)分别输入0,1,0,由于第一级最优偏差为0,因此Goal(1)输入0,Goal(2)输入较大的值(例如1000).结果如下:

 

  Global optimal solution found.

  Objective value:                              0.000000

 

                                Variable           Value        Reduced Cost

                                   P( 1)        0.000000            0.000000

                                   P( 2)        1.000000            0.000000

                                   P( 3)        0.000000            0.000000

                                   U( 1)        0.000000            0.000000

                                   U( 2)        0.000000            0.000000

                                   U( 3)        520.0000            0.000000

                                   X( 1)        20.00000            0.000000

                                   X( 2)        22.50000            0.000000

                                   X( 3)        0.000000            0.000000

                                   X( 4)        0.000000            0.000000

 

第二级最优偏差为0,进行第三论计算

第三级目标计算,P(1),P(2),P(3)分别输入0,0,1,由于第一、二级最优偏差都为0,因此Goal(1)与Goal(2)输入0.结果如下:

 

  Global optimal solution found.

  Objective value:                              445.0000

 

 

                                Variable           Value        Reduced Cost

                                   P( 1)        0.000000            0.000000

                                   P( 2)        0.000000            0.000000

                                   P( 3)        1.000000            0.000000

                                   U( 1)        0.000000           -5.333333

                                   U( 2)        0.000000           -3.083333

                                   U( 3)        445.0000            0.000000

                                GOAL( 1)    0.000000            0.000000

                                GOAL( 2)    0.000000            0.000000

                                   X( 1)        30.00000            0.000000

                                   X( 2)        15.00000            0.000000

                                   X( 3)        0.000000           0.2500000

                                   X( 4)        5.000000            0.000000

                                  DP( 1)       10.00000            0.000000

                                  DP( 2)       0.000000            5.333333

                                  DP( 3)       0.000000            2.000000

                                  DP( 4)       0.000000            0.000000

                                  DP( 5)       0.000000            1.000000

                                  DM( 1)       0.000000            5.333333

                                  DM( 2)       0.000000         &nbs