Public Member Functions | Private Types | Private Member Functions | Private Attributes
Clasp::PBBuilder Class Reference

A class for defining a PB-problem. More...

#include <program_builder.h>

Inheritance diagram for Clasp::PBBuilder:
Inheritance graph
[legend]

List of all members.

Public Member Functions

bool addConstraint (WeightLitVec &lits, weight_t bound, bool eq=false, weight_t cw=0)
 Adds the given PB-constraint to the problem.
bool addObjective (const WeightLitVec &min)
 Adds min as an objective function to the problem.
Literal addProduct (LitVec &lits)
 Adds the given product to the problem.
uint32 numVars () const
 Returns the number of variables in the problem.
 PBBuilder ()
void prepareProblem (uint32 numVars, uint32 maxProduct, uint32 maxSoft, uint32 constraintHint=100)
 Creates necessary variables and prepares the problem.
bool setSoftBound (wsum_t bound)
 Only allow solutions where the sum of violated soft constraint is less than bound.

Private Types

typedef std::map< LitVec, LiteralProductIndex

Private Member Functions

void addProductConstraints (Literal eqLit, LitVec &lits)
bool doEndProgram ()
void doGetAssumptions (LitVec &) const
bool doParse (StreamSource &prg)
 Parses prg as a PB-problem in OPB-format.
bool doStartProgram ()
int doType () const
bool doUpdateProgram ()
void getMinBound (SumVec &out) const
Var getNextVar ()
bool productSubsumed (LitVec &lits, Literal &subLit)

Private Attributes

uint32 maxVar_
uint32 nextVar_
ProductIndex products_
wsum_t soft_

Detailed Description

A class for defining a PB-problem.

Definition at line 160 of file program_builder.h.


The documentation for this class was generated from the following files:


clasp
Author(s): Benjamin Kaufmann
autogenerated on Thu Aug 27 2015 12:41:41