- Procedure GMP::SolverSession::AsynchronousExecute(solverSession)
GMP::SolverSession::AsynchronousExecute
The procedure GMP::SolverSession::AsynchronousExecute
invokes the
solution algorithm to asynchronous solve a generated mathematical
program by using a solver session.
GMP::SolverSession::AsynchronousExecute(
solverSession ! (input) a solver session
)
Arguments
- solverSession
An element in the set
AllSolverSessions
.
Return Value
The procedure returns 1 on success, or 0 otherwise.
Note
This procedure will not copy the initial solution into the solver, or copy the final solution back into solution repository or model identifiers. When you use this function you always have to explicitly call functions from the
GMP::Solution
namespace to accomplish these tasks.The following solvers are thread-safe and can be used for solving multiple mathematical programs in parallel using the same solver: CPLEX, Gurobi, XA, CONOPT, and Knitro.
The following solvers are not thread-safe but the AIMMS-solver interface is thread safe and therefore they can be used in parallel with another solver: IPOPT and SNOPT. For example, SNOPT 7.1 can be used in parallel with IPOPT but it cannot be used in parallel with SNOPT 7.1.
The procedure
GMP::SolverSession::AsynchronousExecute
cannot be used by the following solvers: BARON, CBC, ODH-CPLEX, and PATH.Calling
GMP::SolverSession::AsynchronousExecute
inside a callback procedure is not allowed.The procedure
GMP::SolverSession::AsynchronousExecute
cannot be used if an external function is used in a constraint.The procedures
GMP::SolverSession::WaitForCompletion
andGMP::SolverSession::WaitForSingleCompletion
can be used to let AIMMS wait until one or more asynchronous executing solver sessions are finished.Normal solve statements will be ignored during an asynchronous execution of a solver session.
Sensitivity ranges will not be calculated during an asynchronous solve.
This procedure does not create a listing file but you can use the procedure
GMP::Solution::ConstraintListing
for that.
See also
The routines GMP::Instance::Copy
, GMP::SolverSession::Execute
, GMP::SolverSession::ExecutionStatus
GMP::SolverSession::Interrupt
, GMP::SolverSession::WaitForCompletion
,
GMP::SolverSession::WaitForSingleCompletion
, GMP::Solution::ConstraintListing
and GMP::Solver::GetAsynchronousSessionsLimit
.