/home/coin/SVN-release/CoinAll-1.1.0/Bcp/src/include/BCP_solution.hpp

Go to the documentation of this file.
00001 // Copyright (C) 2000, International Business Machines
00002 // Corporation and others.  All Rights Reserved.
00003 #ifndef _BCP_SOLUTION_H
00004 #define _BCP_SOLUTION_H
00005 
00006 #include "BCP_vector.hpp"
00007 #include "BCP_var.hpp"
00008 
00009 // This file is fully docified.
00010 
00014 class BCP_solution {
00015 public:
00017   virtual ~BCP_solution() {}
00019   virtual double objective_value() const = 0;
00020 };
00021 
00022 //#############################################################################
00023 
00033 class BCP_solution_generic : public BCP_solution { 
00034 public:
00038     double _objective;
00041     bool _delete_vars;
00043     BCP_vec<BCP_var*> _vars;
00045     BCP_vec<double> _values;
00048 public:
00050   BCP_solution_generic(bool delvars = true) :
00051      _objective(0), _delete_vars(delvars), _vars(), _values() {}
00055   virtual ~BCP_solution_generic() {
00056      if (_delete_vars)
00057         purge_ptr_vector(_vars);
00058   }
00059 
00061   inline virtual double objective_value() const { return _objective; }
00062 
00064   void display() const;
00065 
00068   void add_entry(BCP_var* var, double value) {
00069     _vars.push_back(var);
00070     _values.push_back(value);
00071     _objective += value * var->obj();
00072   }
00073 };
00074 
00075 #endif

Generated on Sun Nov 14 14:06:29 2010 for Coin-All by  doxygen 1.4.7