2329
|
1 *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
|
2 |
|
3 SUBROUTINE LSLOC ( LPROB, N, NCLIN, LITOTL, LWTOTL ) |
|
4 |
|
5 IMPLICIT DOUBLE PRECISION(A-H,O-Z) |
|
6 |
|
7 ************************************************************************ |
|
8 * LSLOC allocates the addresses of the work arrays for LSCORE. |
|
9 * |
|
10 * Note that the arrays ( GQ, CQ ) and ( RES, RES0, HZ ) lie in |
|
11 * contiguous areas of workspace. |
|
12 * RES, RES0 and HZ are not needed for LP. |
|
13 * CQ is defined when the objective has an explicit linear term. |
|
14 * |
|
15 * Systems Optimization Laboratory, Stanford University. |
|
16 * Original version written 29-October-1984. |
|
17 * This version of LSLOC dated 16-February-1986. |
|
18 ************************************************************************ |
|
19 COMMON /SOL1CM/ NOUT |
|
20 COMMON /SOL3CM/ LENNAM, NROWT, NCOLT, NQ |
|
21 |
|
22 PARAMETER ( LENLS = 20 ) |
|
23 COMMON /SOL1LS/ LOCLS(LENLS) |
|
24 |
|
25 LOGICAL LSDBG |
|
26 PARAMETER ( LDBG = 5 ) |
|
27 COMMON /LSDEBG/ ILSDBG(LDBG), LSDBG |
|
28 |
|
29 MINIW = LITOTL + 1 |
|
30 MINW = LWTOTL + 1 |
|
31 |
|
32 |
|
33 * Assign array lengths that depend upon the problem dimensions. |
|
34 |
|
35 IF (NCLIN .EQ. 0) THEN |
|
36 LENT = 0 |
|
37 LENZY = 0 |
|
38 ELSE |
|
39 LENT = NROWT*NCOLT |
|
40 LENZY = NQ *NQ |
|
41 END IF |
|
42 |
|
43 LENCQ = 0 |
|
44 IF (LPROB .EQ. 2*(LPROB/2)) LENCQ = N |
|
45 LENRES = 0 |
|
46 IF (LPROB .GT. 2 ) LENRES = N |
|
47 |
|
48 LKACTV = MINIW |
|
49 MINIW = LKACTV + N |
|
50 |
|
51 LANORM = MINW |
|
52 LAP = LANORM + NCLIN |
|
53 LPX = LAP + NCLIN |
|
54 LGQ = LPX + N |
|
55 LCQ = LGQ + N |
|
56 LRES = LCQ + LENCQ |
|
57 LRES0 = LRES + LENRES |
|
58 LHZ = LRES0 + LENRES |
|
59 LRLAM = LHZ + LENRES |
|
60 LT = LRLAM + N |
|
61 LZY = LT + LENT |
|
62 LWTINF = LZY + LENZY |
|
63 LWRK = LWTINF + N + NCLIN |
|
64 LFEATL = LWRK + N + NCLIN |
|
65 MINW = LFEATL + N + NCLIN |
|
66 |
|
67 LOCLS( 1) = LKACTV |
|
68 LOCLS( 2) = LANORM |
|
69 LOCLS( 3) = LAP |
|
70 LOCLS( 4) = LPX |
|
71 LOCLS( 5) = LRES |
|
72 LOCLS( 6) = LRES0 |
|
73 LOCLS( 7) = LHZ |
|
74 LOCLS( 8) = LGQ |
|
75 LOCLS( 9) = LCQ |
|
76 LOCLS(10) = LRLAM |
|
77 LOCLS(11) = LT |
|
78 LOCLS(12) = LZY |
|
79 LOCLS(13) = LWTINF |
|
80 LOCLS(14) = LWRK |
|
81 LOCLS(15) = LFEATL |
|
82 |
|
83 LITOTL = MINIW - 1 |
|
84 LWTOTL = MINW - 1 |
|
85 |
|
86 RETURN |
|
87 |
|
88 * End of LSLOC . |
|
89 |
|
90 END |