大数据人|大数据第一社区

标题: §3.2 迭代计算命令 PIV (Pivot) [打印本页]

作者: admin    时间: 2015-7-14 13:03
标题: §3.2 迭代计算命令 PIV (Pivot)
§3.2   迭代计算命令  PIV (Pivot)

1.命令功能:对当前基进行一次旋转运算.
2.命令格式:

:PIV[变量名或变量序号]<CR>

3.命令使用:PIV命令执行以后,指定的变量就调入当前基中(即成为进基变量),离基变量按单纯形算法规则确定。如变量名缺省,则按进基规则依次选择进基变量。例如对于上一节的模型,其操作结果有:

:PIV

X2ENTERS AT VALUE 50.000 IN ROW3 OBJ. VALUE = 400.00

:PIV

X3ENTERS AT VALUE 50.000 IN ROW4 OBJ. VALUE = 700.00

:PIV
     LP OPTIMUM FOUND AT STEP  2

     OBJECTIVE  FUNCTION   VALUE

         1)700.000000

VARIABLE        VALUE       REDUCEDCOST

X1               .000000   22.000000

X2              50.000000     .000000
X3              50.000000     .000000

ROW             SLACK      DUAL PRICES
2)              .000000     .000000
3)              .000000    8.000000
4)              .000000    2.000000
NO.ITERATIONS  =    2

DORANGE(SENSITIVITY) ANALYSIS  ?

PIV>


此时得到了问题的最优解。如果继续计算,让X1进基,有:
:PIV X1

X1ENTERS AT VALUE 25.000 IN ROW3 OBJ. VALUE = 150.00



由于松弛变量是LINDO自动添加的,没有变量名,例如在上一节的模型
  
max
  
  
2x1
  
  
+8x2
  
  
+6x3
  
  
  
  
s.t.
  
  
8x1
  
  
+3x2
  
  
+2x3
  
  
≤250
  
  
  
  
2x1
  
  
+x2
  
  
  
  
≤50
  
  
  
  
4x1
  
  
  
  
+3x3
  
  
≤150
  
  
  
  
x1
  
  
x2
  
  
x3
  
  
≥0
  
中,如果要选第一个松弛变量进基,则需要用这个变量的序号,即第4个变量进基:

MAX    2 X1 + 8 X2 + 6 X3

SUBJECT TO

       2)   8 X1 + 3 X2 + 2 X3 <=   250

       3)   2 X1 + X2 <=   50

       4)   4 X1 + 3 X3 <=   150

END
: PIV 4
SLK 2 ENTERS AT VALUE 250.00 IN ROW 2 OBJ. VALUE= 0.00000E+00
:

使用PIV命令可以实现如下目的:
(1).一步步地完成单纯形算法的计算。如果将PIV命令与TABL命令交替使用,就可以观察到单纯形表的变化过程。
(2).使某一指定变量进基。这一功能在寻找问题的多重最优解时非常有用。






欢迎光临 大数据人|大数据第一社区 (http://www.bigdata.ren/) Powered by Discuz! X3.2