edu.harvard.econcs.jopt.solver
Class SolveParam

java.lang.Object
  extended by edu.harvard.econcs.jopt.solver.SolveParam
All Implemented Interfaces:
java.io.Serializable

public class SolveParam
extends java.lang.Object
implements java.io.Serializable

These parameters control how JOpt operates, and how the backend solver operates. You can control a number of parameters. Not all of these will be supported by your chosen backend solver, unfortunently. But we try to map these settings into relevant solver settings. See each setting to see if they are applicable to CPLEX, LPSOLVE, or ALLSOLVERS

Since:
Apr 19, 2005
Version:
$Revision: 1.15 $ on $Date: 2008/07/14 15:05:29 $
See Also:
Serialized Form

Field Summary
static SolveParam ABSOLUTE_INT_GAP
          How close a double must be to an int to be considered an int [CPLEX]
static SolveParam ABSOLUTE_OBJ_GAP
          Optimization stops when current solution within this parameter of LP relaxiation [CPLEX]
static SolveParam ABSOLUTE_VAR_BOUND_GAP
          Degree to which variables may violate their bounds [CPLEX]
static SolveParam BARRIER_DISPLAY
          Amount of barrier progress information to be displayed [CPLEX]
static SolveParam CALC_DUALS
          Calculate duals?
static SolveParam CALCULATE_CONFLICT_SET
          Should we attempt to determine conflcit set?
static SolveParam CHECK_INIT_VALUE_FEASIBILITY
          Check starting values for feasibility? [CPLEX]
static SolveParam CLOCK_TYPE
          Measure timing using CPU=1, wall clock=2 [CPLEX]
static SolveParam CONSTRAINT_BACKOFF_LIMIT
          Maximum amount to backoff and retry solving mip with looser constraint tolerance.
static SolveParam DISPLAY_OUTPUT
          Display output?
static SolveParam LP_OPTIMIZATION_ALG
          Which optimization algorithm to use.
static SolveParam MAX_OBJ_THRESHOLD
          For Maximization problems, stop when this value has been exceeded [CPLEX]
static SolveParam MAX_OBJ_VALUE
          Max objective value for minimization problems (specified to assist cutting).
static SolveParam MIN_OBJ_THRESHOLD
          For Minimization problems, stop when this value has been exceeded [CPLEX]
static SolveParam MIN_OBJ_VALUE
          Min objective value for maximization problems (specified to assist cutting).
static SolveParam MIP_DISPLAY
          Specify what to display when solving a MIP [CPLEX]
static SolveParam MIP_EMPHASIS
          Optimality vs.
static SolveParam OBJ_TOLERANCE
          Optimality Tolerance [CPLEX]
static SolveParam PROBLEM_FILE
          Name of mipInstance file - set to empty string if you don't want to write one out [CPLEX]
static SolveParam RELATIVE_OBJ_GAP
          Optimization stops when current solution within this percentage of LP relaxiation [CPLEX]
static SolveParam THREADS
          Threads to use in solving a MIP [CPLEX]
static SolveParam TIME_LIMIT
          Maximum time to run solver before returning current best in seconds [CPLEX]
static SolveParam WORK_DIR
          Working directory for working files for the optimzer [CPLEX]
static SolveParam ZERO_MISSING_PROPOSED
          If given a set of proposed starting values, should we set missing values to be zero [CPLEX]
 
Method Summary
 boolean equals(java.lang.Object obj)
           
 java.lang.String getTypeDescription()
           
 int hashCode()
           
 boolean isBoolean()
           
 boolean isDouble()
           
 boolean isInteger()
           
 boolean isInternal()
           
 boolean isString()
           
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

CLOCK_TYPE

public static final SolveParam CLOCK_TYPE
Measure timing using CPU=1, wall clock=2 [CPLEX]


TIME_LIMIT

public static final SolveParam TIME_LIMIT
Maximum time to run solver before returning current best in seconds [CPLEX]


BARRIER_DISPLAY

public static final SolveParam BARRIER_DISPLAY
Amount of barrier progress information to be displayed [CPLEX]


MIN_OBJ_VALUE

public static final SolveParam MIN_OBJ_VALUE
Min objective value for maximization problems (specified to assist cutting). Set this too high --> No Feasible Solution [CPLEX]


MAX_OBJ_VALUE

public static final SolveParam MAX_OBJ_VALUE
Max objective value for minimization problems (specified to assist cutting). Set this too low --> No Feasible Solution [CPLEX]


OBJ_TOLERANCE

public static final SolveParam OBJ_TOLERANCE
Optimality Tolerance [CPLEX]


ABSOLUTE_OBJ_GAP

public static final SolveParam ABSOLUTE_OBJ_GAP
Optimization stops when current solution within this parameter of LP relaxiation [CPLEX]


RELATIVE_OBJ_GAP

public static final SolveParam RELATIVE_OBJ_GAP
Optimization stops when current solution within this percentage of LP relaxiation [CPLEX]


ABSOLUTE_INT_GAP

public static final SolveParam ABSOLUTE_INT_GAP
How close a double must be to an int to be considered an int [CPLEX]


ABSOLUTE_VAR_BOUND_GAP

public static final SolveParam ABSOLUTE_VAR_BOUND_GAP
Degree to which variables may violate their bounds [CPLEX]


LP_OPTIMIZATION_ALG

public static final SolveParam LP_OPTIMIZATION_ALG
Which optimization algorithm to use. [CPLEX]


MIP_DISPLAY

public static final SolveParam MIP_DISPLAY
Specify what to display when solving a MIP [CPLEX]

From the Cplex 8.1 Documentation (see that documentation for better context):

0 No display
1 Display integer feasible solutions
2 Display nodes under CPX_PARAM_MIPINTERVAL
3 Same as 2 with information on node cuts
4 Same as 3 with LP subproblem information at root
5 Same as 4 with LP subproblem information at nodes
Default: 2
Description: MIP node log display information.
Determines what CPLEX reports to the screen during mixed integer optimization. The amount of information displayed increases with increasing values of this parameter. A setting of 0 causes no node log to be displayed until the optimal solution is found. A setting of 1 displays an entry for each integer feasible solution found. Each entry contains the objective function value, the node count, the number of unexplored nodes in the tree, and the current optimality gap. A setting of 2 also generates an entry for every nth node (where n is the setting of the MIP INTERVAL parameter). A setting of 3 additionally generates an entry for every nth node giving the number of cuts added to the problem for the previous INTERVAL nodes. A setting of 4 additionally generates entries for the LP root relaxation according to the 'SET SIMPLEX DISPLAY' setting. A setting of 5 additionally generates entries for the LP subproblems, also according to the 'SET SIMPLEX DISPLAY' setting.


MIP_EMPHASIS

public static final SolveParam MIP_EMPHASIS
Optimality vs. Feasibility heuristic for MIP solving. 0=balanced, 1=feasibility, 2=optimality, 3=moving best bound. [CPLEX]


CHECK_INIT_VALUE_FEASIBILITY

public static final SolveParam CHECK_INIT_VALUE_FEASIBILITY
Check starting values for feasibility? [CPLEX]


MIN_OBJ_THRESHOLD

public static final SolveParam MIN_OBJ_THRESHOLD
For Minimization problems, stop when this value has been exceeded [CPLEX]


MAX_OBJ_THRESHOLD

public static final SolveParam MAX_OBJ_THRESHOLD
For Maximization problems, stop when this value has been exceeded [CPLEX]


WORK_DIR

public static final SolveParam WORK_DIR
Working directory for working files for the optimzer [CPLEX]


THREADS

public static final SolveParam THREADS
Threads to use in solving a MIP [CPLEX]


PROBLEM_FILE

public static final SolveParam PROBLEM_FILE
Name of mipInstance file - set to empty string if you don't want to write one out [CPLEX]


ZERO_MISSING_PROPOSED

public static final SolveParam ZERO_MISSING_PROPOSED
If given a set of proposed starting values, should we set missing values to be zero [CPLEX]


CONSTRAINT_BACKOFF_LIMIT

public static final SolveParam CONSTRAINT_BACKOFF_LIMIT
Maximum amount to backoff and retry solving mip with looser constraint tolerance. CPlex max is .1, .1 is default. typically either .1 or 0


CALCULATE_CONFLICT_SET

public static final SolveParam CALCULATE_CONFLICT_SET
Should we attempt to determine conflcit set?


DISPLAY_OUTPUT

public static final SolveParam DISPLAY_OUTPUT
Display output?


CALC_DUALS

public static final SolveParam CALC_DUALS
Calculate duals?

Method Detail

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

isInteger

public boolean isInteger()

isDouble

public boolean isDouble()

isBoolean

public boolean isBoolean()

isString

public boolean isString()

isInternal

public boolean isInternal()

getTypeDescription

public java.lang.String getTypeDescription()

equals

public boolean equals(java.lang.Object obj)
Overrides:
equals in class java.lang.Object

hashCode

public int hashCode()
Overrides:
hashCode in class java.lang.Object