# maximize, minimize

Purpose
Maximize/minimize the current problem.
Synopsis
`procedure maximize(alg:integer, obj:linctr)`
`procedure maximize(obj:linctr)`
`procedure maximize(alg:integer, qobj:qexp)`
`procedure maximize(qobj:qexp)`
`procedure maximize(alg:integer, nlobl:nlctr)`
`procedure maximize(nlobl:nlctr)`
Arguments
alg
Algorithm choice:
 XPRS_BAR Newton-Barrier to solve LP XPRS_DUAL Dual simplex XPRS_NET Network solver XPRS_LIN Only solve LP ignoring all global entities XPRS_PRI Primal simplex XPRS_ENUM Start a search for the n-best MIP solutions XPRS_LPSTOP Stop the MIP solution process after solving the first LP XPRS_CONT Continue a previously interrupted solution process XPRS_LOCAL Solve the linearization of the problem (mmxnlp only) XPRS_CORELP Solve the linear part of the problem (mmxnlp only)
obj
Objective function constraint
qobj
nlobj
Non linear objective function (with module mmnl)
Example
The following maximizes Profit using the dual simplex algorithm and stops before the global search:
```declarations
Profit:linctr
end-declarations

maximize(XPRS_DUAL+XPRS_LPSTOP, Profit)  ```
The following minimizes MinCost using the Newton-Barrier algorithm and ignoring all global entities
```declarations
MinCost:linctr
end-declarations

minimize(XPRS_BAR+XPRS_LIN, MinCost) ```
Further information
1. This procedure calls the Optimizer to maximize/minimize the current problem (excluding all hidden constraints) using the given constraint as objective function. Optionally, the algorithm to be used can be defined. By default, the global search is executed automatically if the problem contains any global entities. Where appropriate, several algorithm choice parameters may be combined (using plus signs).
2. If XPRS_LIN is specified, then the discreteness of all global entities is ignored, even during the presolve procedure.
3. If XPRS_LPSTOP is specified, then just the LP at the top node is solved and no Branch-and-Bound search is initiated. But the discreteness of the global entities is taken into account in presolving the LP at the top node. Note also that getprobstat still returns information related to the MIP problem when this option is used although only an LP solve has been executed and the solution information returned by getsol corresponds to the current LP solution. However, if the the MIP is solved to optimality during this call, the MIP optimal solution will be returned by getsol.
4. If XPRS_CONT is used after a solve has completed, the routine returns immediately without altering the current problem status.
5. If XPRS_ENUM is specified, the optimiser starts a search for the n-best MIP solutions. The maximum number of solutions to store may be specified using the XPRS_enummaxsol (default: 10). After the execution of the enumeration, the number of solutions found during the search is returned by the control parameter XPRS_enumsols. The procedure selectsol can then be used to select one of these solutions.
6. If XNLP_LOCAL is specified for a non-linear problem having been loaded using mmxnlp and which have been solved using XSLP, then the current linearization will be reoptimized.
7. If XNLP_CORELP is specified for a non-linear problem having been loaded using mmxnlp, then only the linear part of the problem will be loaded and optimized. This is usefull for checking if the linear part of the problem is well posed.