implicit real*8 (a-h,o-z) parameter (m=5,n=5) i integer it(0:n),il(0:m),ib(0:n),ir(0:m) character*2 lt(0:n),ll(0:m),lr(0:m),lb(0:n) dimension a(0:m+1,0:n+1),asaf(m,n),a1(m,m),a1i(m,m) dimension a1ia2(m,n),a2(m,n),csaf(n),bsaf(m) dimension ass(m,n),bi(m),tmp(n),ci(m+n) common/bprint/ipt,nfile,ndig,npunch,jpt,mfile common/temp/iterl open (unit=10,file='lp.inp',status='old') open (unit=20,file='lp.sto',status='unknown') o open (unit=8,file='lp.out',status='unknown') call dflt read (10,990) ifr 990 format(i1) w write (nfile,998) ifr 998 format(' ifr = ',i3) do i=1,m a(i,0)=10. end do do j=1,n a(0,j)=1. end do c Read in previously generated data in hex format do i=1,m read (20,4030) (a(i,j),j=1,n) end do do i=1,m do j=1,n ass(i,j)=a(i,j) end do end do do i=1,m write (nfile,4003) (a(i,j),j=1,n) 4030 format(5z16 end do 4003 format(1x,5f10.3) c kpiv value will determine which pivot choice algorithm is used do kpiv=1,2 write (nfile,9000) kpiv 9000 format(' kpiv = ',i1) a(0,0)=0. do i=1,m do j=1,n a(i,j)=ass(i,j) end do end do do i=1,m a(i,0)=10. end do do j=1,n a(0,j)=1. end do call linproa(a,it,il,ir,ib,lt,ll,lr,lb,m,n,iter,ier,kpiv, 1asaf,a1,a1i,a2,csaf,bsaf,ci,bi,tmp,a1ia2,ifr) write (*,1002) iter write (nfile,1002) iter 1002 format(' Iteration count = ',i4) end do stop end **************************************************************** FILE LP.INP FOLLOWS **************************************************************** 0 **************************************************************** FILE LP.STO FOLLOWS **************************************************************** BFDB87F487766000BFDE0919424C2A00BFCD92A48FD99900BFD6281AAAEBE500BFEECF44A6531A40 BFC411711741F200BFEAA6B367B1D400BFE26CF688891C80BFBC8DDDE1B29600BFE6255204E03940 BFD2F35A8C86F500BFDEBE3B58D9E080BFEFD1C1DA12DEC0BFEBED968A6406C0BFD2A8B63EA14100 BFD403B885512FC0BFD9B37235292E80BFEAC7505FC402C0BFC3B3F563B79400BFCBD9ED17EB1C00 BFDF80540D681040BFD771182C851C80BFE7AD4ABC413E80BFEC3B280A4F8140BFEE8454FC506480 **************************************************************** OUTPUT FILE FOLLOWS **************************************************************** ifr = 0 -0.430 -0.469 -0.231 -0.346 -0.963 -0.157 -0.833 -0.576 -0.112 -0.692 -0.296 -0.480 -0.994 -0.873 -0.292 -0.313 -0.402 -0.837 -0.154 -0.218 -0.492 -0.366 -0.740 -0.882 -0.954 kpiv = 1 LP BEGINS Pivot choice method = steepest ascent
Optimum reached Objective function = 0.22546566E+02 Primal solution x- 2 0.93598824E+01 x- 3 0.32740965E+00 u- 3 0.13706462E+01 u- 4 0.19458517E+01 x- 1 0.12859274E+02
Dual solution
y- 5 0.88070292E+00 y- 1 0.12842416E+01 y- 2 0.89712165E-01 v- 4 0.23158285E+00 v- 5 0.11384409E+01 Iteration count = 3 kpiv = 2
LP BEGINS Pivot choice method = largest improvement at each iteration
Optimum reached Objective function = 0.22546566E+02 Primal solution
x- 2 0.93598824E+01 x- 3 0.32740965E+00 u- 3 0.13706462E+01 u- 4 0.19458517E+01 x- 1 0.12859274E+02
Dual solution
y- 5 0.88070292E+00 y- 1 0.12842416E+01 y- 2 0.89712165E-01 v- 4 0.23158285E+00 v- 5 0.11384409E+01 Iteration count = 3