This subroutine requests current values of character control variables. Character control variables provide you with access to the names of items in an MPS file. The values of the character control variables affect the processing of EKKBASI and EKKMPS. Refer to "Passing Your Model Using Mathematical Programming System (MPS) Format" for information about MPS format.
Note: |
Since the PL/I ILC does not directly support the passing of character strings to C routines, use of EKKCGET in PL/I programs is not recommended. A PL/I program may work correctly if the correct PL/I data types are used. Note that the compiler may generate a warning message. |
FORTRAN |
CALL EKKCGET(rtcod,dspace,carray,num) |
C |
ekkcget (&rtcod, dspace, carray, num); |
Specified as: a one-dimensional real array of doublewords.
Specified as: a fullword integer; 0 num
(the length of iarray).
If rtcod = 0, the subroutine completed successfully. Only informational messages were issued.
See "Return Codes" for an explanation of return codes.
If rtcod is non-zero, it value is the return code associated with the first occurrence of the highest severity message.
Returned as: a fullword integer.
Returned as: a one-dimensional real array of doublewords.
Returned as: a one-dimensional array of character strings of length 80. Refer to Table 18 for a list of character control variables.
Refer to the following sample programs for examples of using EKKCGET:
[ EKKCGET |
Table of Character Control Variables |
EKKRGET |
EKKRSET ]
[ Table of Real Control Variables |
Index to Modules |
Bottom of Page ]
This subroutine sets the values of one or more character control variables. Character control variables provide you with access to the names of items in an MPS file. The values of the character control variables affect the processing of EKKBASI and EKKMPS. Refer to "Passing Your Model Using Mathematical Programming System (MPS) Format" for information about the MPS format. EKKCGET must be called before calling EKKCSET.
See "Controlling OSL" for information about how control variables work and how to set them.
Note: |
Since the PL/I ILC does not directly support the passing of character strings to C routines, use of EKKCSET in PL/I programs is not recommended. A PL/I program may work correctly if the correct PL/I data types are used. Note that the compiler may generate a warning message. |
FORTRAN |
CALL EKKCSET(rtcod,dspace,carray,num) |
C |
ekkcset(&rtcod,dspace,carray,num); |
Specified as: a one-dimensional real array of doublewords.
Specified as: a one-dimensional array of character strings of length 80.
Specified as: a fullword integer; 0 num
(the length of iarray).
If rtcod = 0, the subroutine completed successfully. Only informational messages were issued.
See "Return Codes" for an explanation of return codes.
If rtcod is non-zero, it value is the return code associated with the first occurrence of the highest severity message.
Returned as: a fullword integer.
Returned as: a one-dimensional real array of doublewords.
Refer to the following sample programs for examples of using EKKCSET:
[ EKKCGET |
EKKCSET |
EKKRGET |
EKKRSET ]
[ Table of Real Control Variables |
Index to Modules |
Bottom of Page ]
Table 18. Character Control Variables
sequence |
Variable Name |
Description |
1 |
Cname |
The problem name in the MPS file. |
2 |
Cobjective |
The objective function row name in the MPS file. |
3 |
Crhs |
The RHS name in the MPS file. |
4 |
Crange |
The range name in the MPS file. |
5 |
Cbound |
The bound name in the MPS file. |
6 |
Cbasis |
The basis name in the MPS file. |
7 |
Cchangeobj |
The name of the cost (objective) change row in the MPS file to be used by EKKSPAR. |
8 |
Cchangerhs |
The name of the RHS change in the MPS file to be used by EKKSPAR. |
9 |
Cchangerange |
The name of the range change in the MPS file to be used by EKKSPAR. |
10 |
Cchangebounds |
The name of the bounds change in the MPS file to be used by EKKSPAR. |
11 |
Cssolution |
The name of the spreadsheet range(s) containing the adjustable cells. |
12 |
Csconstrts |
The name of the spreadsheet range(s) containing the constraint cells. |
13 |
Csobjective |
The name of the spreadsheet range containing the objective cell. |
14 |
Csekksos1 |
The name of the spreadsheet range(s) containing SOS sets of type 1. |
15 |
Csekksos2 |
The name of the spreadsheet range(s) containing SOS sets of type 2. |
16 |
Csekksos3 |
The name of the spreadsheet range(s) containing SOS sets of type 3. |
17 |
Csekksos4 |
The name of the spreadsheet range(s) containing SOS sets of type 4 (general integer variables). |
Note: If you input your data using EKKLMDL, the content of all the character control variables for which you do not explicitly supply new values will be blank. |
[ EKKCGET |
EKKCSET |
Table of Character Control Variables |
EKKRSET ]
[ Table of Real Control Variables |
Index to Modules |
Bottom of Page ]
This subroutine requests current values of real (doubleword) control variables.
FORTRAN |
CALL EKKRGET(rtcod,dspace,rarray,num) |
C |
ekkrget(&rtcod,dspace,rarray,num); |
Specified as: a one-dimensional real array of doublewords.
Specified as: a fullword integer; 0 num
(the length of iarray).
If rtcod = 0, the subroutine completed successfully. Only informational messages were issued.
See "Return Codes" for an explanation of return codes.
If rtcod is non-zero, it value is the return code associated with the first occurrence of the highest severity message.
Returned as: a fullword integer.
Returned as: a one-dimensional real array of doublewords.
Returned as: a one-dimensional real array of doublewords. Refer to Table 19 for a list of real control variables.
The number of control variables returned is the minimum of the number requested, num, and the number available.
Refer to the following sample programs for examples of using EKKRGET:
[ EKKCGET |
EKKCSET |
Table of Character Control Variables |
EKKRGET ]
[ Table of Real Control Variables |
Index to Modules |
Bottom of Page ]
This subroutine sets real (doubleword) control variables. EKKRGET must be called before calling EKKRSET.
See "Controlling OSL" for information about how control variables work and how to set them.
FORTRAN |
CALL EKKRSET(rtcod,dspace,rarray,num) |
C |
ekkrset(&rtcod,dspace,rarray,num); |
Specified as: a one-dimensional real array of doublewords.
Specified as: a one-dimensional real array of doublewords.
Specified as: a fullword integer; 0 num
(the length of iarray).
If rtcod = 0, the subroutine completed successfully. Only informational messages were issued.
See "Return Codes" for an explanation of return codes.
If rtcod is non-zero, it value is the return code associated with the first occurrence of the highest severity message.
Returned as: a fullword integer.
Returned as: a one-dimensional real array of doublewords.
Refer to the following sample programs for examples of using EKKRSET:
[ Top of Page |
EKKCGET |
EKKCSET |
Table of Character Control Variables ]
[ EKKRGET |
EKKRSET |
Index to Modules |
Bottom of Page ]
Table 19. Real Control Variables
sequence |
Variable Name |
Lower |
Upper |
Default |
Explanation |
1 |
Rtolpinf |
10 -12 |
10 -1 |
10 -8 |
The allowed amount of primal infeasibility. |
2 |
Rtoldinf |
10 -12 |
10 -1 |
10 -7 |
The allowed amount of dual infeasibility. |
3 |
Rmaxmin |
-1.0 |
1.0 |
1.0 |
The weight of the linear objective. |
4 |
Rmufactor |
10 -6 |
0.99999 |
0.1 |
The reduction factor for m in the primal barrier algorithm. |
5 |
Rmulimit |
10 -16 |
1.0 |
10 -8 |
The lower limit for m in the primal barrier algorithm. |
6 |
Rrgfactor |
10 -6 |
0.99999 |
0.1 |
The reduced gradient target reduction factor. |
7 |
Rrglimit |
0.0 |
1.0 |
0.0 |
The reduced gradient limit for the primal barrier algorithm. |
8 |
Rfixvar1 |
0.0 |
10 -3 |
10 -7 |
The tolerance for fixing variables in the barrier method when infeasible. |
9 |
Rfixvar2 |
0.0 |
10 -3 |
10 -8 |
The tolerance for fixing variables in the barrier method when feasible. |
10 |
Rcholabstol |
10 -30 |
10 -6 |
10 -15 |
The absolute pivot tolerance for Cholesky factorization. |
11 |
Rcholtinytol |
10 -30 |
10 -6 |
10 -18 |
The cut-off tolerance for Cholesky factorization. |
12 |
Rmulinfac |
0.0 |
1.0 |
0.0 |
The multiple of m to add to the linear objective. |
13 |
Rprojtol |
0.0 |
1.0 |
10 -6 |
The projection error tolerance. |
14 |
Rpweight |
10 -12 |
10 10 |
0.1 |
The multiplier of the feasible objective that is used when the current solution is primal infeasible. |
15 |
Rchangeweight |
10 -12 |
1.0 |
0.5 |
The rate of change for Rpweight or Rdweight. |
16 |
Rbbcutoff |
-10 20 |
10 31 |
The cutoff for the branch and bound. | |
17 |
Rdweight |
0.0 |
1.0 |
0.1 |
The proportion of the feasible objective that is used when the current solution is dual infeasible. |
18* |
Robjvalue |
-maxreal |
maxreal |
n/a |
The value of the objective function. |
19* |
Rsumpinf |
-maxreal |
maxreal |
n/a |
The sum of the primal infeasibilities. |
20* |
Rsumdinf |
-maxreal |
maxreal |
n/a |
The sum of the dual infeasibilities. |
21 |
Rtolmps |
-maxreal |
maxreal |
10 -12 |
The zero tolerance for MPS and spreadsheet data. |
22 |
Rdegscale |
0.0 |
maxreal |
1.0 |
The scale factor for all degradation. |
23* |
Rbestsol |
-maxreal |
maxreal |
10 31 |
The best feasible integer solution found so far. |
24 |
Riweight |
0.0 |
maxreal |
1.0 |
The weight for each integer infeasibility. |
25 |
Rimprove |
-maxreal |
maxreal |
10 -5 |
The amount by which a new solution must be better. |
26 |
Rtarget |
-maxreal |
maxreal |
5% worse than the continuous solution |
This is a target value of the objective for a valid solution. |
27 |
Rtolint |
10 -12 |
10 -1 |
10 -6 |
The integer tolerance. |
28* |
Rbestposs |
-maxreal |
maxreal |
The continuous solution |
The best possible solution. |
29* |
Rbestest |
-maxreal |
maxreal |
0.0 |
The best estimated solution. |
30 |
Rstepmult |
0.01 |
0.99999 |
0.99 |
The step-length multiplier for the primal barrier algorithm. |
31 |
Rmuinit |
10 -20 |
10 6 |
0.1 |
The initial value of m for the primal barrier algorithm. |
32 |
Rdensethr |
-maxreal |
maxreal |
0.7 |
The density threshold for Cholesky processing. |
33 |
Robjweight |
0.0 |
10 8 |
0.1 |
The weight given to the true objective in primal composite phase 1. |
34 |
Rlambdaval |
0.0 |
maxreal |
0.0 |
The value of the EKKQPAR parameter &lambda.. |
35 |
Rdccutoff |
-maxreal |
maxreal |
-10 31 |
The value of the EKKQSLV decomposition cutoff. |
36* |
Rdobjval |
-maxreal |
maxreal |
n/a |
The value of the dual objective for EKKBSLV. |
37 |
Rslambda |
-maxreal |
maxreal |
0.0 |
The value of the EKKSPAR parameter &lambda.. |
38 |
Rslambdalim |
-maxreal |
maxreal |
1.0 |
The limiting value for the EKKSPAR parameter &lambda.. |
39 |
Rslambdadelta |
-maxreal |
maxreal |
0.1 |
The incrementing value for the EKKSPAR parameter &lambda.. |
40 |
Rthreshold |
0.0 |
maxreal |
0.0 |
The supernode processing threshold. |
41 |
Rpdgaptol |
10 -12 |
10 -1 |
10 -7 |
The barrier method primal-dual gap tolerance. |
42 |
Rpdstepmult |
0.01 |
0.999999 |
0.99995 |
The primal-dual barrier method step-length multiplier. |
43 |
Rpertdiag |
0.0 |
10 -6 |
10 -12 |
The diagonal perturbation for Cholesky factorization. |
44 |
Rnetsamp |
0.0 |
1.0 |
0.05 |
The sample size for the EKKNSLV pricing algorithm. |
45 |
Rprintcpu |
0.0 |
maxreal |
0.0 |
Switch to print CPU time used by library subroutines. |
* Not settable.**maxreal is the maximum real value allowed on your platform. Note: See Appendix C. Control Variables for a list of all the control variables. |
[ Top of Page |
EKKCGET |
EKKCSET |
Table of Character Control Variables |
EKKRGET |
EKKRSET |
Table of Real Control Variables |
Index to Modules ]