Mosek optimization tools
See Sec. We refer to Sec. For the rest of this section we concentrate on the case when the solution summary leaves little doubt that the problem solved by the optimizer actually is infeasible.
As an example of a primal infeasible problem consider minimizing the cost of transportation between a number of production plants and stores: Each plant produces a fixed number of goods, and each store has a fixed demand that must be met. Supply, demand and cost of transportation per unit are given in Fig. The problem represented in Fig. Solving problem 8. The infeasibility certificate is contained in the dual variables an can be accessed from an API.
The variables and constraints with nonzero solution values form an infeasible subproblem, which frequently is very small.
A short infeasibility report can also be printed to the log stream. This causes MOSEK to print a report on variables and constraints which are involved in infeasibility in the above sense, i. For the above example the report is. The infeasibility report is divided into two sections corresponding to constraints and variables.
It is a selection of those lines from the problem solution which are important in understanding primal infeasibility. In this case the constraints s0 , s2 , d1 , d2 and variables x33 , x34 are of importance because of nonzero dual values.
It is also possible to extract the infeasible subproblem with the command-line tool. For an infeasible problem called infeas. Because of its size it may be easier to work with than the original problem file.
Infeasibility tolerance used by the interior-point optimizer for conic problems. Relative complementarity gap tolerance used by the interior-point optimizer for conic problems. Termination tolerance multiplier that is used if no accurate solution can be found. Primal feasibility tolerance used by the interior-point optimizer for conic problems.
Relative gap termination tolerance used by the interior-point optimizer for conic problems. Dual feasibility tolerance used when the interior-point optimizer is applied to a quadratic optimization problem. Infeasibility tolerance used by the interior-point optimizer for quadratic problems. Relative complementarity gap tolerance used by the interior-point optimizer for quadratic problems.
Primal feasibility tolerance used by the interior-point optimizer for quadratic problems. Relative gap termination tolerance used by the interior-point optimizer for quadratic problems. Dual feasibility tolerance used by the interior-point optimizer for linear problems. Controls the initial dual starting point used by the interior-point optimizer. Infeasibility tolerance used by the interior-point optimizer for linear problems.
Relative complementarity gap tolerance used by the interior-point optimizer for linear problems. Controls how close the interior-point optimizer follows the central path. Primal feasibility tolerance used by the interior-point optimizer for linear problems. Controls the initial primal starting point used by the interior-point optimizer. Relative gap termination tolerance used by the interior-point optimizer for linear problems.
Relative step size to the boundary for linear and quadratic optimization problems. Controls if basis identification is performed under certain conditions.
Turns on basis identification if interior-point optimizer is terminated due to a numerical problem. Controls the maximum number of simplex iterations allowed to optimize a basis after the basis identification. Controls whether the interior-point optimizer also computes an optimal basis.
Controls whether different step sizes are allowed in the primal and dual space. Controls the maximum number of iterations allowed in the interior-point optimizer. Controls the maximum number of correctors allowed by the multiple corrector procedure.
Maximum number of steps to be used by the iterative refinement of the search direction. Controls whether the interior-point optimizers can employ multiple threads if available. Controls how aggressively offending columns are detected in the Jacobian of the constraint matrix. Controls the ordering strategy used by the interior-point optimizer when factorizing the Newton equation system.
Controls how the problem is scaled before the interior-point optimizer is used. Name of option file which is read just before solving the fixed problem. This parameter limits the maximum time spent by the mixed-integer optimizer. This value is used to compute the relative gap for the solution to an integer optimization problem. Absolute optimality tolerance employed by the mixed-integer optimizer. If the relative improvement of the dual bound is smaller than this value, the solver will terminate the root cut generation.
Relative optimality tolerance employed by the mixed-integer optimizer. Controls whether the mixed-integer optimizer is branching up or down by default. If this option is turned on outer approximation is used when solving relaxations of conic problems; otherwise interior point is used. Controls how aggressively generated cuts are selected to be included in the relaxation. Controls the way the Feasibility Pump heuristic is employed by the mixed-integer optimizer. Controls the heuristic employed by the mixed-integer optimizer to locate an initial good integer feasible solution.
Maximum number of branches allowed during the branch and bound search. Maximum number of relaxations allowed during the branch and bound search. The mixed-integer optimizer can be terminated after a certain number of different feasible solutions has been located. Controls which optimizer is employed at the non-root nodes in the mixed-integer optimizer. Controls the node selection strategy employed by the mixed-integer optimizer. Controls the amount of probing employed by the mixed-integer optimizer in presolve.
Controls the maximum number of nodes allowed in each call to the RINS heuristic. Controls which optimizer is employed at the root node in the mixed-integer optimizer.
Sets the random seed used for randomization in the mixed integer optimizer. If a constraint violates its bound with an amount larger than this value, the constraint name, index and violation will be printed by the solution analyzer.
If both certificates of primal and dual infeasibility are supplied then only the primal is used when this option is turned on. Controls whether an infeasibility report is automatically produced after the optimization if the problem is primal or dual infeasible.
Controls the amount of information presented in an infeasibility report. Controls the amount of output printed by the basis identification procedure. Controls the amount of output printed when performing feasibility repair. Controls amount of output printed by the infeasibility analyzer procedures. Controls amount of output printed by the interior-point optimizer.
Controls how frequent the mixed-integer optimizer prints the log line. Controls amount of output printed when response codes are reported. Write a hint section with problem dimensions in the beginning of an OPF file. If enabled, then constraint blocks with identifiable conic slacks are transformed into conic constraints and the slacks are eliminated.
If this option is turned on the parameter settings are written to the data file as parameters. Controls whether generic names should be used instead of user-defined names when writing to the data file. Controls if the writer ignores incompatible problem items when writing files. Write all variables, including the ones with 0-coefficients, in the objective. Controls if marker records are written to the MPS file to indicate whether variables are integer restricted.
Controls the precision with which double numbers are printed in the MPS data file. Controls if linear coefficients should be written by row or column when writing in the XML file format.
If set, problem data is written to this file. Sometimes when an LP file is written additional variables must be inserted. The numbers in this column should converge monotonically toward to zero but may stall at low level due to rounding errors.
This number converges to 1 if the problem has an optimal solution whereas it converges to -1 if that is not the case. Basis identification is always performed even if the interior-point optimizer terminates abnormally. Basis identification is performed if the interior-point optimizer terminates without an error. Basis identification is not performed if the interior-point optimizer terminates with a problem status saying that the problem is primal or dual infeasible. Always use the graph partitioning based ordering even if it is worse than the approximate minimum local fill ordering.
The optimizer is free to solve either the primal or the dual problem. The optimizer constructs a starting point by assigning a constant value to all primal and dual variables. This starting point is normally robust. The starting point is chosen to satisfy all the simple bounds on nonlinear variables. If this starting point is employed, then more care than usual should employed when choosing the bounds on the nonlinear variables.
In particular very tight bounds should be avoided. Cuts are more aggressively selected to be included in the relaxation. The Feasibility Pump is enabled with an effort to improve solution quality. The Feasibility Pump is enabled with an effort to reach feasibility early. The optimizer employs selects the node based on a pseudo cost estimate. Only detect variable bounds that are directly represented in the problem. It is decided automatically whether to presolve before the problem is optimized.
The simplex optimizer should use an aggressive degeneration strategy. The simplex optimizer should use a moderate degeneration strategy. The optimizer uses devex steepest-edge pricing. If it is not available an approximate steep-edge selection is chosen. The optimizer uses steepest-edge selection.
In order to set the environment variables on Windows, please follow the instructions here. The limited community edition is here. CPLEX is free for students and academics and further information how to register and download is here. Add execute permission to binary. Run the installer binary as superuser, follow the installation procedure, and accept the default installation path. You can also follow the instructions here. This can also be done by creating a startup.
Register and log in here. Download the Gurobi optimizer from here. Navigate to the directory where Gurobi was downloaded and enter. Edit the bash settings to include paths. Activate your license by running:. Verify that Gurobi is successfully installed by launching the Gurobi prompt:. This command should give you the prompt for Gurobi. Apply for a license here. A free academic license is here. You will receive an email with your mosek.
Save or move the downloaded archive tar. Run moseksetupwin64x Copy the license file mosek. This should open a window and display the output as shown above. In a terminal, run:.
0コメント