minimodel.hh File Reference
(Revision: 7354)
#include "gecode/kernel.hh"
#include "gecode/int.hh"
#include "gecode/int/linear.hh"
#include "gecode/minimodel/exception.icc"
#include <iostream>
#include "gecode/minimodel/lin-expr.icc"
#include "gecode/minimodel/lin-rel.icc"
#include "gecode/minimodel/bool-expr.icc"
#include "gecode/minimodel/bool-rel.icc"
#include "gecode/minimodel/arithmetic.icc"
#include "gecode/minimodel/matrix.icc"
Go to the source code of this file.
Namespaces | |
namespace | Gecode |
namespace | Gecode::MiniModel |
Classes | |
class | Gecode::MiniModel::LinExpr< Var > |
Linear expressions. More... | |
class | Gecode::MiniModel::LinRel< Var > |
Linear relations. More... | |
class | Gecode::MiniModel::BoolExpr |
Boolean expressions. More... | |
class | Gecode::MiniModel::BoolExpr::Node |
Node for Boolean expression. More... | |
class | Gecode::MiniModel::BoolRel |
Boolean relations. More... | |
class | Gecode::REG |
Regular expressions over integer values. More... | |
class | Gecode::MiniModel::Matrix< A > |
Matrix-interface for arrays. More... | |
class | Gecode::MiniModel::Matrix< A >::Slice |
A slice of a matrix. More... | |
Defines | |
#define | GECODE_MINIMODEL_EXPORT __attribute__ ((visibility("default"))) |
Functions | |
Gecode::MiniModel::LinExpr < Gecode::IntVar > | operator+ (int, const Gecode::MiniModel::LinExpr< Gecode::IntVar > &) |
Construct linear expression as sum of linear expression and integer. | |
Gecode::MiniModel::LinExpr < Gecode::IntVar > | operator+ (const Gecode::MiniModel::LinExpr< Gecode::IntVar > &, int) |
Construct linear expression as sum of integer and linear expression. | |
Gecode::MiniModel::LinExpr < Gecode::IntVar > | operator+ (const Gecode::MiniModel::LinExpr< Gecode::IntVar > &, const Gecode::MiniModel::LinExpr< Gecode::IntVar > &) |
Construct linear expression as sum of linear expressions. | |
Gecode::MiniModel::LinExpr < Gecode::IntVar > | operator- (int, const Gecode::MiniModel::LinExpr< Gecode::IntVar > &) |
Construct linear expression as difference of linear expression and integer. | |
Gecode::MiniModel::LinExpr < Gecode::IntVar > | operator- (const Gecode::MiniModel::LinExpr< Gecode::IntVar > &, int) |
Construct linear expression as difference of integer and linear expression. | |
Gecode::MiniModel::LinExpr < Gecode::IntVar > | operator- (const Gecode::MiniModel::LinExpr< Gecode::IntVar > &, const Gecode::MiniModel::LinExpr< Gecode::IntVar > &) |
Construct linear expression as difference of linear expressions. | |
Gecode::MiniModel::LinExpr < Gecode::IntVar > | operator- (const Gecode::MiniModel::LinExpr< Gecode::IntVar > &) |
Construct linear expression as negative of linear expression. | |
Gecode::MiniModel::LinExpr < Gecode::IntVar > | operator* (int, const Gecode::IntVar &) |
Construct linear expression as product of integer coefficient and integer variable. | |
Gecode::MiniModel::LinExpr < Gecode::IntVar > | operator* (const Gecode::IntVar &, int) |
Construct linear expression as product of integer coefficient and integer variable. | |
Gecode::MiniModel::LinExpr < Gecode::IntVar > | operator* (const Gecode::MiniModel::LinExpr< Gecode::IntVar > &, int) |
Construct linear expression as product of integer coefficient and linear expression. | |
Gecode::MiniModel::LinExpr < Gecode::IntVar > | operator* (int, const Gecode::MiniModel::LinExpr< Gecode::IntVar > &) |
Construct linear expression as product of integer coefficient and linear expression. | |
Gecode::MiniModel::LinExpr < Gecode::BoolVar > | operator+ (int, const Gecode::MiniModel::LinExpr< Gecode::BoolVar > &) |
Construct linear expression as sum of linear expression and integer. | |
Gecode::MiniModel::LinExpr < Gecode::BoolVar > | operator+ (const Gecode::MiniModel::LinExpr< Gecode::BoolVar > &, int) |
Construct linear expression as sum of integer and linear expression. | |
Gecode::MiniModel::LinExpr < Gecode::BoolVar > | operator+ (const Gecode::MiniModel::LinExpr< Gecode::BoolVar > &, const Gecode::MiniModel::LinExpr< Gecode::BoolVar > &) |
Construct linear expression as sum of linear expressions. | |
Gecode::MiniModel::LinExpr < Gecode::BoolVar > | operator- (int, const Gecode::MiniModel::LinExpr< Gecode::BoolVar > &) |
Construct linear expression as difference of linear expression and integer. | |
Gecode::MiniModel::LinExpr < Gecode::BoolVar > | operator- (const Gecode::MiniModel::LinExpr< Gecode::BoolVar > &, int) |
Construct linear expression as difference of integer and linear expression. | |
Gecode::MiniModel::LinExpr < Gecode::BoolVar > | operator- (const Gecode::MiniModel::LinExpr< Gecode::BoolVar > &, const Gecode::MiniModel::LinExpr< Gecode::BoolVar > &) |
Construct linear expression as difference of linear expressions. | |
Gecode::MiniModel::LinExpr < Gecode::BoolVar > | operator- (const Gecode::MiniModel::LinExpr< Gecode::BoolVar > &) |
Construct linear expression as negative of linear expression. | |
Gecode::MiniModel::LinExpr < Gecode::BoolVar > | operator* (int, const Gecode::BoolVar &) |
Construct linear expression as product of integer coefficient and integer variable. | |
Gecode::MiniModel::LinExpr < Gecode::BoolVar > | operator* (const Gecode::BoolVar &, int) |
Construct linear expression as product of integer coefficient and integer variable. | |
Gecode::MiniModel::LinExpr < Gecode::BoolVar > | operator* (const Gecode::MiniModel::LinExpr< Gecode::BoolVar > &, int) |
Construct linear expression as product of integer coefficient and linear expression. | |
Gecode::MiniModel::LinExpr < Gecode::BoolVar > | operator* (int, const Gecode::MiniModel::LinExpr< Gecode::BoolVar > &) |
Construct linear expression as product of integer coefficient and linear expression. | |
Gecode::MiniModel::LinRel < Gecode::IntVar > | operator== (int l, const Gecode::MiniModel::LinExpr< Gecode::IntVar > &r) |
Construct linear equality relation. | |
Gecode::MiniModel::LinRel < Gecode::IntVar > | operator== (const Gecode::MiniModel::LinExpr< Gecode::IntVar > &l, int r) |
Construct linear equality relation. | |
Gecode::MiniModel::LinRel < Gecode::IntVar > | operator== (const Gecode::MiniModel::LinExpr< Gecode::IntVar > &l, const Gecode::MiniModel::LinExpr< Gecode::IntVar > &r) |
Construct linear equality relation. | |
Gecode::MiniModel::LinRel < Gecode::IntVar > | operator!= (int l, const Gecode::MiniModel::LinExpr< Gecode::IntVar > &r) |
Construct linear disequality relation. | |
Gecode::MiniModel::LinRel < Gecode::IntVar > | operator!= (const Gecode::MiniModel::LinExpr< Gecode::IntVar > &l, int r) |
Construct linear disequality relation. | |
Gecode::MiniModel::LinRel < Gecode::IntVar > | operator!= (const Gecode::MiniModel::LinExpr< Gecode::IntVar > &l, const Gecode::MiniModel::LinExpr< Gecode::IntVar > &r) |
Construct linear disequality relation. | |
Gecode::MiniModel::LinRel < Gecode::IntVar > | operator< (int l, const Gecode::MiniModel::LinExpr< Gecode::IntVar > &r) |
Construct linear inequality relation. | |
Gecode::MiniModel::LinRel < Gecode::IntVar > | operator< (const Gecode::MiniModel::LinExpr< Gecode::IntVar > &l, int r) |
Construct linear inequality relation. | |
Gecode::MiniModel::LinRel < Gecode::IntVar > | operator< (const Gecode::MiniModel::LinExpr< Gecode::IntVar > &l, const Gecode::MiniModel::LinExpr< Gecode::IntVar > &r) |
Construct linear inequality relation. | |
Gecode::MiniModel::LinRel < Gecode::IntVar > | operator<= (int l, const Gecode::MiniModel::LinExpr< Gecode::IntVar > &r) |
Construct linear inequality relation. | |
Gecode::MiniModel::LinRel < Gecode::IntVar > | operator<= (const Gecode::MiniModel::LinExpr< Gecode::IntVar > &l, int r) |
Construct linear inequality relation. | |
Gecode::MiniModel::LinRel < Gecode::IntVar > | operator<= (const Gecode::MiniModel::LinExpr< Gecode::IntVar > &l, const Gecode::MiniModel::LinExpr< Gecode::IntVar > &r) |
Construct linear inequality relation. | |
Gecode::MiniModel::LinRel < Gecode::IntVar > | operator> (int l, const Gecode::MiniModel::LinExpr< Gecode::IntVar > &r) |
Construct linear inequality relation. | |
Gecode::MiniModel::LinRel < Gecode::IntVar > | operator> (const Gecode::MiniModel::LinExpr< Gecode::IntVar > &l, int r) |
Construct linear inequality relation. | |
Gecode::MiniModel::LinRel < Gecode::IntVar > | operator> (const Gecode::MiniModel::LinExpr< Gecode::IntVar > &l, const Gecode::MiniModel::LinExpr< Gecode::IntVar > &r) |
Construct linear inequality relation. | |
Gecode::MiniModel::LinRel < Gecode::IntVar > | operator>= (int l, const Gecode::MiniModel::LinExpr< Gecode::IntVar > &r) |
Construct linear inequality relation. | |
Gecode::MiniModel::LinRel < Gecode::IntVar > | operator>= (const Gecode::MiniModel::LinExpr< Gecode::IntVar > &l, int r) |
Construct linear inequality relation. | |
Gecode::MiniModel::LinRel < Gecode::IntVar > | operator>= (const Gecode::MiniModel::LinExpr< Gecode::IntVar > &l, const Gecode::MiniModel::LinExpr< Gecode::IntVar > &r) |
Construct linear inequality relation. | |
Gecode::MiniModel::LinRel < Gecode::BoolVar > | operator== (int l, const Gecode::MiniModel::LinExpr< Gecode::BoolVar > &r) |
Construct linear equality relation. | |
Gecode::MiniModel::LinRel < Gecode::BoolVar > | operator== (const Gecode::MiniModel::LinExpr< Gecode::BoolVar > &l, int r) |
Construct linear equality relation. | |
Gecode::MiniModel::LinRel < Gecode::BoolVar > | operator== (const Gecode::MiniModel::LinExpr< Gecode::BoolVar > &l, const Gecode::MiniModel::LinExpr< Gecode::BoolVar > &r) |
Construct linear equality relation. | |
Gecode::MiniModel::LinRel < Gecode::BoolVar > | operator!= (int l, const Gecode::MiniModel::LinExpr< Gecode::BoolVar > &r) |
Construct linear disequality relation. | |
Gecode::MiniModel::LinRel < Gecode::BoolVar > | operator!= (const Gecode::MiniModel::LinExpr< Gecode::BoolVar > &l, int r) |
Construct linear disequality relation. | |
Gecode::MiniModel::LinRel < Gecode::BoolVar > | operator!= (const Gecode::MiniModel::LinExpr< Gecode::BoolVar > &l, const Gecode::MiniModel::LinExpr< Gecode::BoolVar > &r) |
Construct linear disequality relation. | |
Gecode::MiniModel::LinRel < Gecode::BoolVar > | operator< (int l, const Gecode::MiniModel::LinExpr< Gecode::BoolVar > &r) |
Construct linear inequality relation. | |
Gecode::MiniModel::LinRel < Gecode::BoolVar > | operator< (const Gecode::MiniModel::LinExpr< Gecode::BoolVar > &l, int r) |
Construct linear inequality relation. | |
Gecode::MiniModel::LinRel < Gecode::BoolVar > | operator< (const Gecode::MiniModel::LinExpr< Gecode::BoolVar > &l, const Gecode::MiniModel::LinExpr< Gecode::BoolVar > &r) |
Construct linear inequality relation. | |
Gecode::MiniModel::LinRel < Gecode::BoolVar > | operator<= (int l, const Gecode::MiniModel::LinExpr< Gecode::BoolVar > &r) |
Construct linear inequality relation. | |
Gecode::MiniModel::LinRel < Gecode::BoolVar > | operator<= (const Gecode::MiniModel::LinExpr< Gecode::BoolVar > &l, int r) |
Construct linear inequality relation. | |
Gecode::MiniModel::LinRel < Gecode::BoolVar > | operator<= (const Gecode::MiniModel::LinExpr< Gecode::BoolVar > &l, const Gecode::MiniModel::LinExpr< Gecode::BoolVar > &r) |
Construct linear inequality relation. | |
Gecode::MiniModel::LinRel < Gecode::BoolVar > | operator> (int l, const Gecode::MiniModel::LinExpr< Gecode::BoolVar > &r) |
Construct linear inequality relation. | |
Gecode::MiniModel::LinRel < Gecode::BoolVar > | operator> (const Gecode::MiniModel::LinExpr< Gecode::BoolVar > &l, int r) |
Construct linear inequality relation. | |
Gecode::MiniModel::LinRel < Gecode::BoolVar > | operator> (const Gecode::MiniModel::LinExpr< Gecode::BoolVar > &l, const Gecode::MiniModel::LinExpr< Gecode::BoolVar > &r) |
Construct linear inequality relation. | |
Gecode::MiniModel::LinRel < Gecode::BoolVar > | operator>= (int l, const Gecode::MiniModel::LinExpr< Gecode::BoolVar > &r) |
Construct linear inequality relation. | |
Gecode::MiniModel::LinRel < Gecode::BoolVar > | operator>= (const Gecode::MiniModel::LinExpr< Gecode::BoolVar > &l, int r) |
Construct linear inequality relation. | |
Gecode::MiniModel::LinRel < Gecode::BoolVar > | operator>= (const Gecode::MiniModel::LinExpr< Gecode::BoolVar > &l, const Gecode::MiniModel::LinExpr< Gecode::BoolVar > &r) |
Construct linear inequality relation. | |
Gecode::MiniModel::BoolExpr | operator! (const Gecode::MiniModel::BoolExpr &) |
Negated Boolean expression. | |
Gecode::MiniModel::BoolExpr | operator && (const Gecode::MiniModel::BoolExpr &, const Gecode::MiniModel::BoolExpr &) |
Conjunction of Boolean expressions. | |
Gecode::MiniModel::BoolExpr | operator|| (const Gecode::MiniModel::BoolExpr &, const Gecode::MiniModel::BoolExpr &) |
Disjunction of Boolean expressions. | |
Gecode::MiniModel::BoolExpr | operator^ (const Gecode::MiniModel::BoolExpr &, const Gecode::MiniModel::BoolExpr &) |
Exclusive-or of Boolean expressions. | |
template<class Var> | |
Gecode::MiniModel::BoolExpr | operator~ (const Gecode::MiniModel::LinRel< Var > &) |
Reification of linear relations. | |
MiniModel::BoolExpr | Gecode::eqv (const MiniModel::BoolExpr &, const MiniModel::BoolExpr &) |
Equivalence of Boolean expressions. | |
MiniModel::BoolExpr | Gecode::imp (const MiniModel::BoolExpr &, const MiniModel::BoolExpr &) |
Implication of Boolean expressions. | |
MiniModel::BoolRel | Gecode::tt (const MiniModel::BoolExpr &) |
State that Boolean expression must be true. | |
MiniModel::BoolRel | Gecode::ff (const MiniModel::BoolExpr &) |
State that Boolean expression must be false. | |
template<class Var> | |
IntVar | Gecode::post (Space *home, const MiniModel::LinExpr< Var > &e, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Post linear expression and return its value. | |
IntVar | Gecode::post (Space *home, const IntVar &x, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Post linear expression (special case for integer variable) and return its value. | |
IntVar | Gecode::post (Space *home, int n, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Post linear expression (special case for constant) and return its value. | |
template<class Var> | |
void | Gecode::post (Space *home, const MiniModel::LinRel< Var > &r, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Post linear relation. | |
void | Gecode::post (Space *home, bool r, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Make it work for special integer only-case. | |
BoolVar | Gecode::post (Space *home, const MiniModel::BoolExpr &e, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Post Boolean expression and return its value. | |
BoolVar | Gecode::post (Space *home, const BoolVar &b, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Post Boolean expression (special case for variable) and return its value. | |
void | Gecode::post (Space *home, const MiniModel::BoolRel &r, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Post Boolean relation. | |
IntVar | Gecode::abs (Space *home, IntVar x, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Return variable constrained to . | |
IntVar | Gecode::min (Space *home, IntVar x, IntVar y, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Return variable constrained to . | |
IntVar | Gecode::min (Space *home, const IntVarArgs &x, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Return variable constrained to . | |
IntVar | Gecode::max (Space *home, IntVar x, IntVar y, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Return variable constrained to . | |
IntVar | Gecode::max (Space *home, const IntVarArgs &x, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Return variable constrained to . | |
IntVar | Gecode::mult (Space *home, IntVar x, IntVar y, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Return variable constrained to . | |
IntVar | Gecode::sqr (Space *home, IntVar x, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Return variable constrained to . | |
IntVar | Gecode::sqrt (Space *home, IntVar x, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Return variable constrained to . | |
IntVar | Gecode::plus (Space *home, IntVar x, IntVar y, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Return variable constrained to . | |
IntVar | Gecode::minus (Space *home, IntVar x, IntVar y, IntConLevel icl, PropKind pk) |
BoolVar | Gecode::channel (Space *home, IntVar x, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Return Boolean variable equal to . | |
IntVar | Gecode::channel (Space *home, BoolVar b, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Return integer variable equal to . | |
void | Gecode::atmost (Space *home, const IntVarArgs &x, int n, int m, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Post propagator for . | |
void | Gecode::atmost (Space *home, const IntVarArgs &x, IntVar y, int m, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Post propagator for . | |
void | Gecode::atmost (Space *home, const IntVarArgs &x, const IntArgs &y, int m, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Post propagator for . | |
void | Gecode::atmost (Space *home, const IntVarArgs &x, int n, IntVar z, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Post propagator for . | |
void | Gecode::atmost (Space *home, const IntVarArgs &x, IntVar y, IntVar z, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Post propagator for . | |
void | Gecode::atmost (Space *home, const IntVarArgs &x, const IntArgs &y, IntVar z, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Post propagator for . | |
void | Gecode::atleast (Space *home, const IntVarArgs &x, int n, int m, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Post propagator for . | |
void | Gecode::atleast (Space *home, const IntVarArgs &x, IntVar y, int m, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Post propagator for . | |
void | Gecode::atleast (Space *home, const IntVarArgs &x, const IntArgs &y, int m, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Post propagator for . | |
void | Gecode::atleast (Space *home, const IntVarArgs &x, int n, IntVar z, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Post propagator for . | |
void | Gecode::atleast (Space *home, const IntVarArgs &x, IntVar y, IntVar z, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Post propagator for . | |
void | Gecode::atleast (Space *home, const IntVarArgs &x, const IntArgs &y, IntVar z, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Post propagator for . | |
void | Gecode::exactly (Space *home, const IntVarArgs &x, int n, int m, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Post propagator for . | |
void | Gecode::exactly (Space *home, const IntVarArgs &x, IntVar y, int m, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Post propagator for . | |
void | Gecode::exactly (Space *home, const IntVarArgs &x, const IntArgs &y, int m, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Post propagator for . | |
void | Gecode::exactly (Space *home, const IntVarArgs &x, int n, IntVar z, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Post propagator for . | |
void | Gecode::exactly (Space *home, const IntVarArgs &x, IntVar y, IntVar z, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Post propagator for . | |
void | Gecode::exactly (Space *home, const IntVarArgs &x, const IntArgs &y, IntVar z, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Post propagator for . | |
void | Gecode::lex (Space *home, const IntVarArgs &x, IntRelType r, const IntVarArgs &y, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Post propagator for lexical order between x and y. |
Define Documentation
#define GECODE_MINIMODEL_EXPORT __attribute__ ((visibility("default"))) |
Definition at line 71 of file minimodel.hh.