Loading...
Searching...
No Matches
gamsmodelinstance.h
1
26#ifndef GAMSMODELINSTANCE_H
27#define GAMSMODELINSTANCE_H
28
29#include <string>
30#include <memory>
31#include <vector>
32#include "gamsenum.h"
33#include "gamsmodifier.h"
34#include "gamsmodelinstanceopt.h"
35
36namespace gams {
37
38class GAMSCheckpoint;
39class GAMSDatabase;
40class GAMSOptions;
41class GAMSModelInstanceImpl;
42
125class LIBSPEC GAMSModelInstance
126{
127public:
130
135
139 bool operator!=(const GAMSModelInstance& other) const;
140
144 bool operator==(const GAMSModelInstance& other) const;
145
148 bool isValid() const;
149
152
157 void instantiate(const std::string& modelDefinition, const gams::GAMSOptions& options
158 , const std::vector<gams::GAMSModifier>& modifiers = { });
159
166 void instantiate(const std::string& modelDefinition, const gams::GAMSOptions& options
167 , const GAMSModifier &modifier1 = GAMSModifier(), const GAMSModifier &modifier2 = GAMSModifier()
168 , const GAMSModifier &modifier3 = GAMSModifier());
169
173 void instantiate(const std::string& modelDefinition, const std::vector<gams::GAMSModifier>& modifiers = { });
174
180 void instantiate(const std::string& modelDefinition, const GAMSModifier &modifier1
181 , const GAMSModifier &modifier2 = GAMSModifier(), const GAMSModifier &modifier3 = GAMSModifier());
182
188 std::ostream &output,
189 const GAMSModelInstanceOpt &miOpt);
190
193 void solve(const GAMSModelInstanceOpt &miOpt);
194
197 void solve(std::ostream& output);
198
201 void solve(GAMSEnum::SymbolUpdateType updateType = GAMSEnum::SymbolUpdateType::BaseCase);
202
205
207 std::string modelStatusAsString();
208
211
213 std::string solveStatusAsString();
214
218 GAMSModelInstance copyModelInstance(const std::string &modelInstanceName = "");
219
221 void interrupt();
222
226
229 std::string name();
230
233 LogId logID();
234
235private:
236 friend class GAMSCheckpointImpl;
237 GAMSModelInstance(const std::shared_ptr<GAMSModelInstanceImpl>& impl);
238 GAMSModelInstance(GAMSCheckpoint& checkpoint, const std::string& modelInstanceName = "");
239
240private:
241 std::shared_ptr<GAMSModelInstanceImpl> mImpl;
242};
243
244} // namespace gams
245
246#endif // GAMSMODELINSTANCE_H
SymbolUpdateType
Symbol update type.
Definition gamsenum.h:208
ModelStat
Model Solution Status.
Definition gamsenum.h:119
SolveStat
Solver termination condition.
Definition gamsenum.h:101
The GAMSModelInstanceOpt can be used to customize the GAMSModelInstance.solve() routine.
std::string solveStatusAsString()
Get solve state as string.
void interrupt()
Send interrupt signal to running GAMSModelInstance.
GAMSModelInstance copyModelInstance(const std::string &modelInstanceName="")
bool operator!=(const GAMSModelInstance &other) const
void instantiate(const std::string &modelDefinition, const gams::GAMSOptions &options, const std::vector< gams::GAMSModifier > &modifiers={ })
GAMSEnum::SolveStat solveStatus()
Get solve state.
void solve(GAMSEnum::SymbolUpdateType updateType=GAMSEnum::SymbolUpdateType::BaseCase)
std::string modelStatusAsString()
Get model state as string.
void instantiate(const std::string &modelDefinition, const GAMSModifier &modifier1, const GAMSModifier &modifier2=GAMSModifier(), const GAMSModifier &modifier3=GAMSModifier())
void instantiate(const std::string &modelDefinition, const gams::GAMSOptions &options, const GAMSModifier &modifier1=GAMSModifier(), const GAMSModifier &modifier2=GAMSModifier(), const GAMSModifier &modifier3=GAMSModifier())
bool operator==(const GAMSModelInstance &other) const
GAMSCheckpoint checkpoint()
void instantiate(const std::string &modelDefinition, const std::vector< gams::GAMSModifier > &modifiers={ })
void solve(std::ostream &output)
void solve(const GAMSModelInstanceOpt &miOpt)
GAMSEnum::ModelStat modelStatus()
Get model state.
void solve(GAMSEnum::SymbolUpdateType updateType, std::ostream &output, const GAMSModelInstanceOpt &miOpt)
GAMSModelInstance & operator=(const GAMSModelInstance &other)
GAMSDatabase syncDb()
Retrieve GAMSDatabase used to synchronize modifiable data.
GAMSModelInstance()
Default constructor.
Definition gams.h:91