#include <iostream>
#include <vector>
#include "OSConfig.h"
#include "OSInstance.h"
#include "OSiLWriter.h"
#include "OSParameters.h"
#include "OSnLNode.h"
#include "ErrorClass.h"
Include dependency graph for instanceGenerator.cpp:
Go to the source code of this file.
Functions | |
int | main () |
The objective of this example is to illustrate how to build a problem instance using the OSIntance class API. In particular we illutrate a number of the set() methods in the OSInstance class. As written, we need the LINDO nonlinear solver.
Model: A nonlinear model with multiple local minimizers. Taken from the Samples directory of the LINDO API
maximize abs( x0 + 1) + .4 * x1;
s.t. x0 + x1 <= 4;
x0 * x1 + x1 <= 6;
x0 * x1 <= 0;
max(x0 , x1 + 1) >= 0;
if(x1, 1, x1) <= 0;
(x1 * 2 * x1 - x1) * x0 <= 0;
-100 <= x0 <= 100
x1 is binary
Definition in file instanceGenerator.cpp.
int main | ( | ) |
Definition at line 59 of file instanceGenerator.cpp.
References OSInstance::addConstraint(), OSInstance::addObjective(), OSInstance::addVariable(), OSnLNode::createExpressionTreeFromPostfix(), ErrorClass::errormsg, OSnLNodeVariable::idx, Nl::idx, SparseVector::indexes, OSInstance::instanceData, OSnLNode::inumberOfChildren, OSnLNode::m_mChildren, OSExpressionTree::m_treeRoot, NonlinearExpressions::nl, InstanceData::nonlinearExpressions, NonlinearExpressions::numberOfNonlinearExpressions, Nl::osExpressionTree, OSINFINITY, DefaultSolver::osinstance, osinstance, OSNAN, DefaultSolver::osrl, OSInstance::setConstraintNumber(), OSInstance::setInstanceDescription(), OSInstance::setInstanceSource(), OSInstance::setLinearConstraintCoefficients(), OSInstance::setObjectiveNumber(), OSInstance::setVariableNumber(), LindoSolver::solve(), OSnLNodeNumber::value, SparseVector::values, and OSiLWriter::writeOSiL().