Public Member Functions | Private Attributes | List of all members
KnapModel Class Reference

#include <KnapModel.h>

Inheritance diagram for KnapModel:
Inheritance graph
[legend]
Collaboration diagram for KnapModel:
Collaboration graph
[legend]

Public Member Functions

 KnapModel ()
 
 KnapModel (int cap, std::vector< std::pair< int, int > > items, int *seq)
 
 ~KnapModel ()
 
int getCapacity () const
 Get the capacity of the knapsack. More...
 
int getNumItems () const
 Get the number of items in the knapsack. More...
 
int * getSequence () const
 Get the sequence of items in the knapsack. More...
 
virtual void readParameters (const int argnum, const char *const *arglist)
 Read in Alps and Knap parameters. More...
 
std::pair< int, int > getItem (int i) const
 Get the size of item i. More...
 
void setCapacity (int capacity)
 Set the capacity of the knapsack. More...
 
void setSequence (const int *seq)
 Set the sequence of items in the knapsack. More...
 
void addItem (int size, int cost)
 Set the size of item i. More...
 
void readInstance (const char *dataFile)
 Read in the problem data. More...
 
void orderItems ()
 Order the items based on their cost/size. More...
 
virtual AlpsEncodedencode () const
 The method that encodes the solution into a buffer. More...
 
virtual void decodeToSelf (AlpsEncoded &)
 The method that decodes model data from the encoded form and fill member data. More...
 
- Public Member Functions inherited from AlpsModel
 AlpsModel ()
 Default construtor. More...
 
virtual ~AlpsModel ()
 Destructor. More...
 
AlpsKnowledgeBrokergetKnowledgeBroker ()
 Get knowledge broker. More...
 
void setKnowledgeBroker (AlpsKnowledgeBroker *b)
 Set knowledge broker. More...
 
std::string getDataFile () const
 Get the input file. More...
 
void setDataFile (std::string infile)
 Set the data file. More...
 
AlpsParamsAlpsPar ()
 Access Alps Parameters. More...
 
void writeParameters (std::ostream &outstream) const
 Write out parameters. More...
 
virtual bool setupSelf ()
 Do necessary work to make model ready for use, such as classify variable and constraint types. More...
 
virtual void preprocess ()
 Preprocessing the model. More...
 
virtual void postprocess ()
 Postprocessing results. More...
 
virtual AlpsTreeNodecreateRoot ()
 Create the root node. More...
 
virtual void modelLog ()
 Problem specific log. More...
 
virtual void nodeLog (AlpsTreeNode *node, bool force)
 Node log. More...
 
virtual bool fathomAllNodes ()
 Return true if all nodes on this process can be fathomed. More...
 
AlpsReturnStatus encodeAlps (AlpsEncoded *encoded) const
 Pack Alps portion of node into an encoded object. More...
 
AlpsReturnStatus decodeAlps (AlpsEncoded &encoded)
 Unpack Alps portion of node from an encoded object. More...
 
virtual void registerKnowledge ()
 Register knowledge class. More...
 
virtual void sendGeneratedKnowledge ()
 Send generated knowledge. More...
 
virtual void receiveGeneratedKnowledge ()
 Receive generated knowledge. More...
 
virtual AlpsEncodedpackSharedKnowlege ()
 Pack knowledge to be shared with others into an encoded object. More...
 
virtual void unpackSharedKnowledge (AlpsEncoded &)
 Unpack and store shared knowledge from an encoded object. More...
 
- Public Member Functions inherited from AlpsKnowledge
 AlpsKnowledge ()
 
virtual ~AlpsKnowledge ()
 
KnowledgeType getType ()
 
void setType (KnowledgeType t)
 
virtual AlpsReturnStatus encode (AlpsEncoded *encoded)
 Pack into a encode object. More...
 
virtual AlpsKnowledgedecode (AlpsEncoded &encoded) const
 This method should decode and return a pointer to a brand new object, i.e., the method must create a new object on the heap from the decoded data instead of filling up the object for which the method was invoked. More...
 
AlpsEncodedgetEncoded () const
 Get/set encoded. More...
 
void setEncoded (AlpsEncoded *e)
 

Private Attributes

int capacity_
 Capacity of the knapsack. More...
 
std::vector< std::pair< int,
int > > 
items_
 List of sizes and profits of the items. More...
 
int * sequence_
 The descent sequence based on ratio: profit/size. More...
 
KnapParamsKnapPar_
 Knap parameters. More...
 

Additional Inherited Members

- Protected Attributes inherited from AlpsModel
AlpsKnowledgeBrokerbroker_
 Knowledge broker. More...
 
std::string dataFile_
 Data file. More...
 
AlpsParamsAlpsPar_
 The parameter set that is used in Alps. More...
 
- Protected Attributes inherited from AlpsKnowledge
KnowledgeType type_
 

Detailed Description

Definition at line 26 of file KnapModel.h.

Constructor & Destructor Documentation

KnapModel::KnapModel ( )
inline

Definition at line 44 of file KnapModel.h.

KnapModel::KnapModel ( int  cap,
std::vector< std::pair< int, int > >  items,
int *  seq 
)
inline

Definition at line 45 of file KnapModel.h.

KnapModel::~KnapModel ( )
inline

Definition at line 52 of file KnapModel.h.

Member Function Documentation

int KnapModel::getCapacity ( ) const
inline

Get the capacity of the knapsack.

Definition at line 61 of file KnapModel.h.

int KnapModel::getNumItems ( ) const
inline

Get the number of items in the knapsack.

Definition at line 64 of file KnapModel.h.

int* KnapModel::getSequence ( ) const
inline

Get the sequence of items in the knapsack.

Definition at line 67 of file KnapModel.h.

virtual void KnapModel::readParameters ( const int  argnum,
const char *const *  arglist 
)
inlinevirtual

Read in Alps and Knap parameters.

Reimplemented from AlpsModel.

Definition at line 72 of file KnapModel.h.

std::pair<int, int> KnapModel::getItem ( int  i) const
inline

Get the size of item i.

Definition at line 83 of file KnapModel.h.

void KnapModel::setCapacity ( int  capacity)
inline

Set the capacity of the knapsack.

Definition at line 88 of file KnapModel.h.

void KnapModel::setSequence ( const int *  seq)

Set the sequence of items in the knapsack.

void KnapModel::addItem ( int  size,
int  cost 
)
inline

Set the size of item i.

Definition at line 94 of file KnapModel.h.

void KnapModel::readInstance ( const char *  dataFile)
virtual

Read in the problem data.

Reimplemented from AlpsModel.

void KnapModel::orderItems ( )

Order the items based on their cost/size.

virtual AlpsEncoded* KnapModel::encode ( ) const
virtual

The method that encodes the solution into a buffer.

Reimplemented from AlpsKnowledge.

virtual void KnapModel::decodeToSelf ( AlpsEncoded )
virtual

The method that decodes model data from the encoded form and fill member data.

Reimplemented from AlpsModel.

Member Data Documentation

int KnapModel::capacity_
private

Capacity of the knapsack.

Definition at line 31 of file KnapModel.h.

std::vector< std::pair<int, int> > KnapModel::items_
private

List of sizes and profits of the items.

Definition at line 34 of file KnapModel.h.

int* KnapModel::sequence_
private

The descent sequence based on ratio: profit/size.

Definition at line 37 of file KnapModel.h.

KnapParams* KnapModel::KnapPar_
private

Knap parameters.

Definition at line 40 of file KnapModel.h.


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