Objective¶
-
class
Objective: public ampl::BasicEntity<ObjectiveInstance>¶ Represents an AMPL objective.
Note that, in case of a scalar objective, all the properties (corresponding to AMPL suffixes) of the objective instance can be accessed through methods like Objective::value(). The methods have the same name of the corresponding AMPL suffixes. See http://www.ampl.com/NEW/suffbuiltin.html for a list of the available suffixes.
All these methods throw an std::logic_error if called for a non scalar objective and an std::runtime_error if called on an entity which has been deleted in the underlying intepreter.
The instances, represented by the class ObjectiveInstance can be accessed via the operator Objective::operator[](), via the methods Objective::get() or via the iterators provided.
To gain access to all the values in an entity (for all instances and all suffixes for that entities), see Entity::getValues() and the DataFrame class.
Instance access
Methods to access the instances which are part of this Entity
-
ObjectiveInstance
get() const Get the instance corresponding to a scalar entity.
- Return
- The corresponding instance.
- Exceptions
runtime_error: if the entity has been deleted in the underlying AMPL interpreterlogic_error: if the entity is not scalar
-
ObjectiveInstance
get(TupleRef index) const¶ Get the instance with the specified index.
- Return
- The corresponding instance
- Parameters
index: The tuple specifying the index
- Exceptions
out_of_range: if an instance with the specified index does not existout_of_range: if the entity has been deleted in the underlying AMPL interpreterampl::UnsupportedOperationException: if the entity is scalar
-
ObjectiveInstance
get(VariantRef v1) const¶ Get the instance with the specified index.
-
ObjectiveInstance
get(VariantRef v1, VariantRef v2) const¶ Get the instance with the specified index.
-
ObjectiveInstance
get(VariantRef v1, VariantRef v2, VariantRef v3) const¶ Get the instance with the specified index.
-
ObjectiveInstance
get(VariantRef v1, VariantRef v2, VariantRef v3, VariantRef v4) const¶ Get the instance with the specified index.
- Return
- The corresponding instance
- Parameters
v1: The VariantRef specifying the first element of the indexing tuplev2: The VariantRef specifying the second element of the indexing tuplev3: The VariantRef specifying the third element of the indexing tuplev4: The VariantRef specifying the fourth element of the indexing tuple
- Exceptions
out_of_range: if an instance with the specified index does not existruntime_error: if the entity has been deleted in the underlying AMPL interpreterampl::UnsupportedOperationException: if the entity is scalar
-
ObjectiveInstance
operator[](TupleRef index) const
-
ObjectiveInstance
operator[](VariantRef v1) const¶
Public Types
-
typedef internal::CountedIterator<internal::EntityWrapper<ObjectiveInstance>>
iterator Iterator for entities, represented by an iterator pointing to elements of type std::pair<TupleRef, InstanceClass>
Public Functions
-
double
value() const¶ Get the value of the objective instance.
-
std::string
astatus() const¶ Return the AMPL status.
-
std::string
sstatus() const¶ Return the solver status.
-
int
exitcode() const¶ Exit code returned by solver after most recent solve with this objective.
-
std::string
message() const¶ Result message returned by solver after most recent solve with this objective.
-
std::string
result() const¶ Result string returned by solver after most recent solve with this objective.
-
void
drop()¶ Drop this objective.
-
void
restore()¶ Restore this objective (if it had been dropped, no effect otherwise)
-
bool
minimization() const¶ Get the sense of this objective.
- Return
- true if minimize, false if maximize
-
iterator
begin() const Get an iterator pointing to the first instance in this entity.
-
iterator
end() const Get an iterator pointing after the last instance in this entity.
-
ObjectiveInstance