Simulation Optimization Library


Steps to use a specific solver on a specific problem:

1. Download wrapper code SIMOPT.m.

2. For each solver with name solvername that you wish to execute, select, download, and unzip the file from the solver library.

3. For each SO problem with name problemname that you wish to solve, select, download, and unzip the file from the problems library.

4. Make any changes to the default parameters in the solver or the problem by directly editing the corresponding problem and solver .m files.

5. Execute the chosen solver on the chosen problem by simply calling the MATLAB function SIMOPT from the command line.


SIMOPT(problemname, solvername, problemseed, solverseed, logfilename)

Function SIMOPT calls algorithm solvername on the SO problem problemname using starting seeds problemseed and solverseed, respectively. logfilename indicates a file on the local machine to log information.


SIMOPT('Buffer', 'RSPLINE', 2, 24, 'SIMOPT_log')

The above call to SIMOPT executes R-SPLINE on the buffer allocation problem.


1. Can the downloaded solver files, problem files, and the wrapper code (SIMOPT.m) be in different directories on the local machine?


2. How do I execute a solver on multiple problems?

You have to separately execute the solver on each problem you wish to solve. See example above.

3. How can I change the problem and solver parameters?

Hopefully, you will not have to change the problem and solver parameters. If you must, you make edits directly as specified in Step (iv) above. Check the wiki page for each solver (or problem) for the meaning of each of the parameters.

4. What does a solver report upon execution?

The solver reports some summary statistics on the solution(s) returned, including objective and constraint function estimates, gradient estimates, and the associated covariance matrices (if available). See the wiki page for the solver and SIMOPT.m for details on the output arguments.

About Us