#include "GamsModel.hpp"#include "GamsMessageHandler.hpp"#include "OsiSolverInterface.hpp"Include dependency graph for GamsFinalize.hpp:

Go to the source code of this file.
Functions | |
| void | GamsFinalizeOsi (GamsModel *gm, GamsMessageHandler *myout, OsiSolverInterface *solver, bool TimeLimitExceeded=false, bool HaveFeasibleSolution=false, bool swapRowStatus=false) |
| Analyze solution stored in an OsiSolverInterface and writes GAMS solution file. | |
| void | GamsWriteSolutionOsi (GamsModel *gm, GamsMessageHandler *myout, OsiSolverInterface *solver, bool swapRowStatus=false) |
| Writes GAMS solution file for a solution stored in an OsiSolverInterface. | |
| void GamsFinalizeOsi | ( | GamsModel * | gm, | |
| GamsMessageHandler * | myout, | |||
| OsiSolverInterface * | solver, | |||
| bool | TimeLimitExceeded = false, |
|||
| bool | HaveFeasibleSolution = false, |
|||
| bool | swapRowStatus = false | |||
| ) |
Analyze solution stored in an OsiSolverInterface and writes GAMS solution file.
| gm | The GamsModel. | |
| myout | A GAMS message handler for output. | |
| solver | The OSI solver interface to read the solution from. | |
| TimeLimitExceeded | Indicate, whether a time limit was exceeded. (Time Limits are not directly supported by OsiSolverInterface.) | |
| HaveFeasibleSolution | In case that time or iteration limit is exceeded, this indicates whether a feasible solution was found. (Feasibility checks are not directly supported by OsiSolverInterface.) | |
| swapRowStatus | Some OSI solvers think in term of artifical variables when dealing with the basis status of a row. Hence, the row status CoinWarmStartBasis::atLowerBound correponds to GamsModel::NonBasicUpper, and similar for atUpperBound. Setting swapRowStatus to true swaps atLowerBound and atUpperBound so that the row status in GAMS is correct again. |
| void GamsWriteSolutionOsi | ( | GamsModel * | gm, | |
| GamsMessageHandler * | myout, | |||
| OsiSolverInterface * | solver, | |||
| bool | swapRowStatus = false | |||
| ) |
Writes GAMS solution file for a solution stored in an OsiSolverInterface.
If solver->optimalBasisIsAvailable() returns positive, the basis returned by solver->getBasisStatus is used. Else, if solver->getWarmStart() returns a basis, then this basis is used. Otherwise we try to guess a basis, which is likely to fail.
| gm | The GamsModel. | |
| myout | A GAMS message handler for output. | |
| solver | The OSI solver interface to read the solution from. | |
| swapRowStatus | Some OSI solvers think in term of artifical variables when dealing with the basis status of a row. Hence, the row status CoinWarmStartBasis::atLowerBound correponds to GamsModel::NonBasicUpper, and similar for atUpperBound. Setting swapRowStatus to true swaps atLowerBound and atUpperBound so that the row status in GAMS is correct again. |
1.4.7