This section describes the options that the black-box solver recognizes in PROC OPTMODEL. You can specify these options after a forward slash (/) in the SOLVE statement, provided that you explicitly specify the black-box solver by using a WITH clause. For example, the following line could appear in PROC OPTMODEL statements:
solve with blackbox / maxtime=600 nthreads=4 primalin;
Input Data Options
You can specify the following options that are related to input data sets:
CACHEIN=set
names a previously computed sample set. Using a previously computed sample set enables the black-box solver to warm-start. It is crucial that the nonlinear objective and function values be identical to those that were used when the cache data set was generated.
FIRSTGEN=set
specifies an initial sample set that defines a subset of the genetic algorithm’s initial population. If the population size p is smaller than the size of this set, only the first p points of this set are used.
PRIMALIN
requests that an initial sample set be evaluated by the black-box solver. Adding this option to the SOLVE statement requests that the black-box solver use the current variable values as a starting point. This option might be useful over a sequence of runs when you want to ensure that the black-box solver generates points that are at least as good as your current best solution. You can also specify other starting points by setting the _NSOL_ parameter to the number of points that you want to specify and setting the variable .sol[n] values (for n in 1.._NSOL_).
Output Data Options
You can specify the following options that are related to output data sets:
CACHEOUT=set
specifies the set to which all completed function evaluations are output. This set can be specified in the CACHEIN= option in subsequent calls to the black-box solver.
LASTGEN=set
specifies the set to which the members of the current genetic algorithm population are returned on exit. If more than one genetic algorithm is used, the set combines the members from each population into a single set. This set can be specified in the FIRSTGEN= option in subsequent calls to the black-box solver.
Stopping Condition Options
You can specify the following options to determine when to stop optimization:
ABSFCONV=r
specifies an absolute function convergence criterion. The black-box solver stops when the changes in the objective function and constraint violation values in successive iterations meet the criterion
where denotes the maximum constraint violation at point x. By default, r=1E–6.
MAXFUNC=i
specifies the maximum number of function calls in the optimization process. The actual number of function evaluations can exceed this number in order to ensure deterministic results.
MAXGEN=i
specifies the maximum number of genetic algorithm iterations. By default, MAXGEN=500.
MAXTIME=r
specifies an upper limit (in seconds) on the real time that the optimization process uses. The actual run time of the black-box solver might be longer, because the actual run time includes the time needed to finish current function evaluations and the time needed to output the (temporary) results. The value of r can be any positive number; the default value is the positive number that has the largest absolute value that can be represented in your operating environment.
NABSFCONV=i
specifies the number of successive iterations for which the criterion that you specify in the ABSFCONV= option must be satisfied before the optimization process is terminated. By default, NABSFCONV=10. To cause an early exit, you must specify a value for i that is less than the value of the MAXGEN= option.
Optimization Control Options
You can specify the following options to tailor the black-box solver to your specific optimization problem:
FEASTOL=r
specifies a feasibility tolerance for the provided constraints. Specify r1E–9. By default, r=1E–3.
NGLOBAL=i
specifies the number of genetic algorithms to create; each algorithm works on a separate population of the size that you specify in the POPSIZE= option. Specify i as an integer greater than 0. By default, NGLOBAL=1.
NLOCAL=i
specifies the number of local solvers to create. Specify i as an integer greater than 0. The default is twice the number of variables in the problem.
POPSIZE=i
specifies the population size for the genetic algorithm to use. The default is , where n denotes the number of variables.
Technical Options
You can specify the following technical options:
CACHEMAX=i
specifies the maximum number of points that can be cached. By default, the black-box solver automatically calculates the maximum number of points.
CACHETOL=r
specifies the cache tolerance to be used for caching and referencing previously evaluated points. For more information about this tolerance, see the section Function Value Caching. The value of r can be any number in the interval . By default, r=1E–9.
LOGFREQ=i
requests that the solution progress be printed to the iteration log after every i iterations if the value of the LOGLEVEL= option is equal to 1. LOGFREQ=0 disables the printing of the solution progress. The solution progress of the final iteration is always printed if i 1 and the value of the LOGLEVEL= option is nonzero. By default, LOGFREQ=1.
LOGLEVEL=0 | 1
controls how much information is printed to the log. If LOGLEVEL=0, nothing is printed. If LOGLEVEL=1, a short summary of the problem description and final solution status is printed. If LOGLEVEL=0, this option overrides the LOGFREQ= option. By default, LOGLEVEL=1.
NTHREADS=i
specifies the maximum number of threads for the black-box solver to use for multithreaded processing. When running in a distributed computing environment, the black-box solver uses up to i threads per worker node. The default is the value of the NTHREADS= option in PROC OPTMODEL.
PARETOMAX=i
specifies the maximum number of points in the Pareto-optimal set, which is produced for multiobjective optimization. By default, PARETOMAX=5000.
SEED=i
specifies a nonnegative integer as a seed value for the pseudorandom number generator. Pseudorandom numbers are used within the genetic algorithm. By default, SEED=1.