1
C ADD REMOVED FIXED VARIABLES
3
C ******************************************************************
4
C ******************************************************************
6
subroutine uinip(n,x,l,u,m,lambda,equatn,linear,coded,checkder,
16
logical coded(10),equatn(m),linear(m)
17
double precision l(n),lambda(m),u(n),x(n)
26
C EXTERNAL SUBROUTINES
29
call vinip(n,x,l,u,m,lambda,equatn,linear,coded,checkder,inform)
30
if ( inform .lt. 0 ) return
32
C Eliminate fixed variables (l=u) and save their values on y
40
if ( l(i) .lt. u(i) ) then
56
if ( n .eq. yind(0) ) rmfixv = .false.
58
if ( iprintctl(2) ) then
59
write(* ,100) yind(0) - n
60
write(file10_unit,100) yind(0) - n
64
C NON-EXECUTABLE STATEMENTS
66
100 format(/,1X,'Number of removed fixed variables : ',I7)
70
C ******************************************************************
71
C ******************************************************************
73
subroutine uendp(n,x,l,u,m,lambda,equatn,linear,inform)
81
logical equatn(m),linear(m)
82
double precision l(*),lambda(m),u(*),x(*)
90
C EXTERNAL SUBROUTINES
93
C Restore original x, l, u and n
98
if ( ind .ne. 0 ) then
114
call vendp(n,x,l,u,m,lambda,equatn,linear,inform)
115
if ( inform .lt. 0 ) return
119
C ******************************************************************
120
C ******************************************************************
122
subroutine uevalf(n,x,f,inform)
131
double precision x(n)
134
#include "fixvar.com"
139
C EXTERNAL SUBROUTINES
142
if ( .not. rmfixv ) then
143
call vevalf(n,x,f,inform)
144
if ( inform .lt. 0 ) return
147
if ( .not. yset ) then
148
write(*,*) 'uevalf: Opa!!!!!!!!!!!!!!!!!!!!!!!!!'
154
call vevalf(yind(0),y,f,inform)
155
if ( inform .lt. 0 ) return
160
C ******************************************************************
161
C ******************************************************************
163
subroutine uevalg(n,x,g,inform)
171
#include "fixvar.com"
174
double precision g(*),x(*)
179
C EXTERNAL SUBROUTINES
182
if ( .not. rmfixv ) then
183
call vevalg(n,x,g,inform)
184
if ( inform .lt. 0 ) return
187
if ( .not. yset ) then
188
write(*,*) 'uevalg: Opa!!!!!!!!!!!!!!!!!!!!!!!!!'
194
call vevalg(yind(0),y,g,inform)
195
if ( inform .lt. 0 ) return
204
C ******************************************************************
205
C ******************************************************************
207
subroutine uevalh(n,x,hlin,hcol,hval,hnnz,inform)
212
integer inform,n,hnnz
215
integer hcol(*),hlin(*)
216
double precision hval(*),x(n)
219
#include "fixvar.com"
224
C EXTERNAL SUBROUTINES
227
if ( .not. rmfixv ) then
228
call vevalh(n,x,hlin,hcol,hval,hnnz,inform)
229
if ( inform .lt. 0 ) return
232
if ( .not. yset ) then
233
write(*,*) 'uevalh: Opa!!!!!!!!!!!!!!!!!!!!!!!!!'
239
call vevalh(yind(0),y,hlin,hcol,hval,hnnz,inform)
240
if ( inform .lt. 0 ) return
246
if ( lin .ne. 0 .and. col .ne. 0 ) then
259
C ******************************************************************
260
C ******************************************************************
262
subroutine uevalc(n,x,ind,c,inform)
271
double precision x(n)
274
#include "fixvar.com"
279
C EXTERNAL SUBROUTINES
282
if ( .not. rmfixv ) then
283
call vevalc(n,x,ind,c,inform)
284
if ( inform .lt. 0 ) return
287
if ( .not. yset ) then
288
write(*,*) 'uevalc: Opa!!!!!!!!!!!!!!!!!!!!!!!!!'
294
call vevalc(yind(0),y,ind,c,inform)
295
if ( inform .lt. 0 ) return
300
C ******************************************************************
301
C ******************************************************************
303
subroutine uevaljac(n,x,ind,jcvar,jcval,jcnnz,inform)
308
integer inform,ind,n,jcnnz
311
#include "fixvar.com"
315
double precision x(*),jcval(*)
320
C EXTERNAL SUBROUTINES
323
if ( .not. rmfixv ) then
324
call vevaljac(n,x,ind,jcvar,jcval,jcnnz,inform)
325
if ( inform .lt. 0 ) return
328
if ( .not. yset ) then
329
write(*,*) 'uevaljac: Opa!!!!!!!!!!!!!!!!!!!!!!!!!'
335
call vevaljac(yind(0),y,ind,jcvar,jcval,jcnnz,inform)
336
if ( inform .lt. 0 ) return
341
if ( var .ne. 0 ) then
353
C ******************************************************************
354
C ******************************************************************
356
subroutine uevalhc(n,x,ind,hlin,hcol,hval,hnnz,inform)
361
integer inform,ind,n,hnnz
364
integer hcol(*),hlin(*)
365
double precision hval(*),x(n)
368
#include "fixvar.com"
373
C EXTERNAL SUBROUTINES
376
if ( .not. rmfixv ) then
377
call vevalhc(n,x,ind,hlin,hcol,hval,hnnz,inform)
378
if ( inform .lt. 0 ) return
381
if ( .not. yset ) then
382
write(*,*) 'uevalhc: Opa!!!!!!!!!!!!!!!!!!!!!!!!!'
388
call vevalhc(yind(0),y,ind,hlin,hcol,hval,hnnz,inform)
389
if ( inform .lt. 0 ) return
395
if ( lin .ne. 0 .and. col .ne. 0 ) then
408
C ******************************************************************
409
C ******************************************************************
411
subroutine uevalhl(n,x,m,lambda,sf,sc,hlin,hcol,hval,hnnz,inform)
416
integer hnnz,inform,m,n
420
integer hlin(*),hcol(*)
421
double precision hval(*),lambda(m),sc(m),x(n)
424
#include "fixvar.com"
429
C EXTERNAL SUBROUTINES
432
if ( .not. rmfixv ) then
433
call vevalhl(n,x,m,lambda,sf,sc,hlin,hcol,hval,hnnz,inform)
434
if ( inform .lt. 0 ) return
437
if ( .not. yset ) then
438
write(*,*) 'uevalhl: Opa!!!!!!!!!!!!!!!!!!!!!!!!!'
444
call vevalhl(yind(0),y,m,lambda,sf,sc,hlin,hcol,hval,hnnz,
446
if ( inform .lt. 0 ) return
452
if ( lin .ne. 0 .and. col .ne. 0 ) then
465
C ******************************************************************
466
C ******************************************************************
468
subroutine uevalhlp(n,x,m,lambda,sf,sc,p,hp,gothl,inform)
478
double precision hp(*),lambda(m),p(n),sc(m),x(n)
481
#include "fixvar.com"
487
double precision w(nmax)
489
C EXTERNAL SUBROUTINES
492
if ( .not. rmfixv ) then
493
call vevalhlp(n,x,m,lambda,sf,sc,p,hp,gothl,inform)
494
if ( inform .lt. 0 ) return
497
if ( .not. yset ) then
498
write(*,*) 'uevalhlp: Opa!!!!!!!!!!!!!!!!!!!!!!!!!'
512
call vevalhlp(yind(0),y,m,lambda,sf,sc,w,hp,gothl,inform)
513
if ( inform .lt. 0 ) return
522
C ******************************************************************
523
C ******************************************************************
525
subroutine uevalfc(n,x,f,m,c,inform)
534
double precision c(m),x(n)
537
#include "fixvar.com"
542
C EXTERNAL SUBROUTINES
545
if ( .not. rmfixv ) then
546
call vevalfc(n,x,f,m,c,inform)
547
if ( inform .lt. 0 ) return
550
if ( .not. yset ) then
551
write(*,*) 'uevaljac: Opa!!!!!!!!!!!!!!!!!!!!!!!!!'
557
call vevalfc(yind(0),y,f,m,c,inform)
558
if ( inform .lt. 0 ) return
563
C ******************************************************************
564
C ******************************************************************
566
subroutine uevalgjac(n,x,g,m,jcfun,jcvar,jcval,jcnnz,inform)
571
integer inform,jcnnz,m,n
574
integer jcfun(*),jcvar(*)
575
double precision g(n),jcval(*),x(n)
578
#include "fixvar.com"
583
C EXTERNAL SUBROUTINES
586
if ( .not. rmfixv ) then
587
call vevalgjac(n,x,g,m,jcfun,jcvar,jcval,jcnnz,inform)
588
if ( inform .lt. 0 ) return
591
if ( .not. yset ) then
592
write(*,*) 'uevaljac: Opa!!!!!!!!!!!!!!!!!!!!!!!!!'
598
call vevalgjac(yind(0),y,g,m,jcfun,jcvar,jcval,jcnnz,inform)
599
if ( inform .lt. 0 ) return
608
if ( var .ne. 0 ) then
621
C ******************************************************************
622
C ******************************************************************
624
subroutine usetp(n,x)
632
double precision x(n)
635
#include "fixvar.com"
640
C EXTERNAL SUBROUTINES
643
if ( .not. rmfixv ) then
654
call vsetp(yind(0),y)
658
C ******************************************************************
659
C ******************************************************************
666
#include "fixvar.com"
668
C EXTERNAL SUBROUTINES