9 #ifndef CMZN_OPTIMISATION_HPP__
10 #define CMZN_OPTIMISATION_HPP__
12 #include "zinc/optimisation.h"
13 #include "zinc/fieldmodule.hpp"
31 cmzn_optimisation_id id;
39 explicit Optimisation(cmzn_optimisation_id in_optimisation_id) :
40 id(in_optimisation_id)
44 id(cmzn_optimisation_access(optimisation.id))
49 cmzn_optimisation_id temp_id = cmzn_optimisation_access(optimisation.id);
52 cmzn_optimisation_destroy(&
id);
62 cmzn_optimisation_destroy(&
id);
222 return Field(cmzn_optimisation_get_conditional_field(
id, independentField.
getId()));
243 return cmzn_optimisation_set_conditional_field(
id, independentField.
getId(), conditionalField.
getId());
253 return static_cast<Method>(cmzn_optimisation_get_method(
id));
264 return cmzn_optimisation_set_method(
id,
265 static_cast<cmzn_optimisation_method>(method));
276 return cmzn_optimisation_get_attribute_integer(
id,
277 static_cast<cmzn_optimisation_attribute>(attribute));
291 return cmzn_optimisation_set_attribute_integer(
id,
292 static_cast<cmzn_optimisation_attribute>(attribute), value);
303 return cmzn_optimisation_get_attribute_real(
id,
304 static_cast<cmzn_optimisation_attribute>(attribute));
317 return cmzn_optimisation_set_attribute_real(
id,
318 static_cast<cmzn_optimisation_attribute>(attribute), value);
329 return Field(cmzn_optimisation_get_first_independent_field(
id));
351 return Field(cmzn_optimisation_get_next_independent_field(
id, refField.
getId()));
369 return (cmzn_optimisation_add_independent_field(
id, field.
getId()));
381 return (cmzn_optimisation_remove_independent_field(
id, field.
getId()));
392 return Field(cmzn_optimisation_get_first_objective_field(
id));
414 return Field(cmzn_optimisation_get_next_objective_field(
id, refField.
getId()));
433 return (cmzn_optimisation_add_objective_field(
id, field.
getId()));
445 return (cmzn_optimisation_remove_objective_field(
id, field.
getId()));
456 return cmzn_optimisation_get_solution_report(
id);
467 return cmzn_optimisation_optimise(
id);
474 return Optimisation(cmzn_fieldmodule_create_optimisation(
id));
Definition: optimisation.hpp:117
Definition: optimisation.hpp:171
A description of a non-linear optimisation problem.
Definition: optimisation.hpp:28
Field getNextIndependentField(const Field &refField)
Definition: optimisation.hpp:349
Base field type: an abstraction of a mathematical field.
Definition: field.hpp:49
Definition: optimisation.hpp:109
Method
Definition: optimisation.hpp:82
Optimisation createOptimisation()
Definition: optimisation.hpp:472
int removeObjectiveField(const Field &field)
Definition: optimisation.hpp:443
Field getNextObjectiveField(const Field &refField)
Definition: optimisation.hpp:412
int setMethod(Method method)
Definition: optimisation.hpp:262
int addIndependentField(const Field &field)
Definition: optimisation.hpp:367
Definition: optimisation.hpp:125
int setAttributeReal(Attribute attribute, double value)
Definition: optimisation.hpp:315
int setConditionalField(const Field &independentField, const Field &conditionalField)
Definition: optimisation.hpp:241
Attribute
Definition: optimisation.hpp:107
Definition: optimisation.hpp:87
cmzn_field_id getId() const
Definition: field.hpp:101
Field getFirstIndependentField()
Definition: optimisation.hpp:327
Definition: optimisation.hpp:153
int setAttributeInteger(Attribute attribute, int value)
Definition: optimisation.hpp:289
Definition: optimisation.hpp:188
Field getFirstObjectiveField()
Definition: optimisation.hpp:390
Method getMethod()
Definition: optimisation.hpp:251
Field getConditionalField(const Field &independentField)
Definition: optimisation.hpp:220
double getAttributeReal(Attribute attribute)
Definition: optimisation.hpp:301
int removeIndependentField(const Field &field)
Definition: optimisation.hpp:379
Definition: optimisation.hpp:162
bool isValid() const
Definition: optimisation.hpp:71
Definition: optimisation.hpp:178
cmzn_optimisation_id getId() const
Definition: optimisation.hpp:206
int getAttributeInteger(Attribute attribute)
Definition: optimisation.hpp:274
int optimise()
Definition: optimisation.hpp:465
Definition: optimisation.hpp:133
char * getSolutionReport()
Definition: optimisation.hpp:454
Definition: optimisation.hpp:94
Definition: optimisation.hpp:84
Definition: optimisation.hpp:143
int addObjectiveField(const Field &field)
Definition: optimisation.hpp:431