Changeset 1141:c3a7ca108705 in lemon
- Timestamp:
- 05/06/12 16:46:14 (11 years ago)
- Branch:
- 1.1
- Parents:
- 1126:a30455cd0107 (diff), 1140:8d281761dea4 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent. - Phase:
- public
- Files:
-
- 10 edited
Legend:
- Unmodified
- Added
- Removed
-
lemon/bits/solver_bits.h
r1081 r1141 45 45 void clear() { 46 46 first_item = -1; 47 last_item = -1; 47 48 first_free_item = -1; 48 49 items.clear(); -
lemon/bits/solver_bits.h
r1140 r1141 3 3 * This file is a part of LEMON, a generic C++ optimization library. 4 4 * 5 * Copyright (C) 2003-20 085 * Copyright (C) 2003-2011 6 6 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport 7 7 * (Egervary Research Group on Combinatorial Optimization, EGRES). -
lemon/clp.cc
r1081 r1141 425 425 delete _prob; 426 426 _prob = new ClpSimplex(); 427 rows.clear();428 cols.clear();429 427 _col_names_ref.clear(); 430 428 _clear_temporals(); -
lemon/clp.cc
r1140 r1141 3 3 * This file is a part of LEMON, a generic C++ optimization library. 4 4 * 5 * Copyright (C) 2003-20 085 * Copyright (C) 2003-2011 6 6 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport 7 7 * (Egervary Research Group on Combinatorial Optimization, EGRES). -
lemon/cplex.cc
r1081 r1141 438 438 int status; 439 439 _prob = CPXcreateprob(cplexEnv(), &status, "Cplex problem"); 440 rows.clear();441 cols.clear();442 440 } 443 441 -
lemon/cplex.cc
r1140 r1141 3 3 * This file is a part of LEMON, a generic C++ optimization library. 4 4 * 5 * Copyright (C) 2003-20 095 * Copyright (C) 2003-2011 6 6 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport 7 7 * (Egervary Research Group on Combinatorial Optimization, EGRES). … … 455 455 456 456 void CplexBase::_applyMessageLevel() { 457 CPXsetintparam(cplexEnv(), CPX_PARAM_SCRIND, 457 CPXsetintparam(cplexEnv(), CPX_PARAM_SCRIND, 458 458 _message_enabled ? CPX_ON : CPX_OFF); 459 459 } -
lemon/lp_base.h
r1093 r1141 1543 1543 1544 1544 ///Clears the problem 1545 void clear() { _clear(); }1545 void clear() { _clear(); rows.clear(); cols.clear(); } 1546 1546 1547 1547 /// Sets the message level of the solver -
lemon/lp_base.h
r1140 r1141 3 3 * This file is a part of LEMON, a generic C++ optimization library. 4 4 * 5 * Copyright (C) 2003-20 085 * Copyright (C) 2003-2011 6 6 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport 7 7 * (Egervary Research Group on Combinatorial Optimization, EGRES). … … 83 83 MESSAGE_VERBOSE 84 84 }; 85 85 86 86 87 87 ///The floating point type used by the solver … … 115 115 typedef True LpCol; 116 116 /// Default constructor 117 117 118 118 /// \warning The default constructor sets the Col to an 119 119 /// undefined value. 120 120 Col() {} 121 121 /// Invalid constructor \& conversion. 122 122 123 123 /// This constructor initializes the Col to be invalid. 124 /// \sa Invalid for more details. 124 /// \sa Invalid for more details. 125 125 Col(const Invalid&) : _id(-1) {} 126 126 /// Equality operator … … 157 157 public: 158 158 /// Default constructor 159 159 160 160 /// \warning The default constructor sets the iterator 161 161 /// to an undefined value. 162 162 ColIt() {} 163 163 /// Sets the iterator to the first Col 164 164 165 165 /// Sets the iterator to the first Col. 166 166 /// … … 170 170 } 171 171 /// Invalid constructor \& conversion 172 172 173 173 /// Initialize the iterator to be invalid. 174 174 /// \sa Invalid for more details. 175 175 ColIt(const Invalid&) : Col(INVALID) {} 176 176 /// Next column 177 177 178 178 /// Assign the iterator to the next column. 179 179 /// … … 210 210 typedef True LpRow; 211 211 /// Default constructor 212 212 213 213 /// \warning The default constructor sets the Row to an 214 214 /// undefined value. 215 215 Row() {} 216 216 /// Invalid constructor \& conversion. 217 217 218 218 /// This constructor initializes the Row to be invalid. 219 /// \sa Invalid for more details. 219 /// \sa Invalid for more details. 220 220 Row(const Invalid&) : _id(-1) {} 221 221 /// Equality operator … … 225 225 bool operator==(Row r) const {return _id == r._id;} 226 226 /// Inequality operator 227 227 228 228 /// \sa operator==(Row r) 229 229 /// … … 252 252 public: 253 253 /// Default constructor 254 254 255 255 /// \warning The default constructor sets the iterator 256 256 /// to an undefined value. 257 257 RowIt() {} 258 258 /// Sets the iterator to the first Row 259 259 260 260 /// Sets the iterator to the first Row. 261 261 /// … … 265 265 } 266 266 /// Invalid constructor \& conversion 267 267 268 268 /// Initialize the iterator to be invalid. 269 269 /// \sa Invalid for more details. 270 270 RowIt(const Invalid&) : Row(INVALID) {} 271 271 /// Next row 272 272 273 273 /// Assign the iterator to the next row. 274 274 /// … … 348 348 typedef True SolverExpr; 349 349 /// Default constructor 350 350 351 351 /// Construct an empty expression, the coefficients and 352 352 /// the constant component are initialized to zero. … … 449 449 450 450 ///Iterator over the expression 451 452 ///The iterator iterates over the terms of the expression. 453 /// 451 452 ///The iterator iterates over the terms of the expression. 453 /// 454 454 ///\code 455 455 ///double s=0; … … 465 465 466 466 /// Sets the iterator to the first term 467 467 468 468 /// Sets the iterator to the first term of the expression. 469 469 /// … … 482 482 const Value& operator*() const { return _it->second; } 483 483 /// Next term 484 484 485 485 /// Assign the iterator to the next term. 486 486 /// … … 494 494 495 495 /// Const iterator over the expression 496 497 ///The iterator iterates over the terms of the expression. 498 /// 496 497 ///The iterator iterates over the terms of the expression. 498 /// 499 499 ///\code 500 500 ///double s=0; … … 510 510 511 511 /// Sets the iterator to the first term 512 512 513 513 /// Sets the iterator to the first term of the expression. 514 514 /// … … 525 525 526 526 /// Next term 527 527 528 528 /// Assign the iterator to the next term. 529 529 /// … … 674 674 typedef True SolverExpr; 675 675 /// Default constructor 676 676 677 677 /// Construct an empty expression, the coefficients are 678 678 /// initialized to zero. … … 709 709 } 710 710 /// \brief Removes the coefficients which's absolute value does 711 /// not exceed \c epsilon. 711 /// not exceed \c epsilon. 712 712 void simplify(Value epsilon = 0.0) { 713 713 std::map<int, Value>::iterator it=comps.begin(); … … 758 758 759 759 ///Iterator over the expression 760 761 ///The iterator iterates over the terms of the expression. 762 /// 760 761 ///The iterator iterates over the terms of the expression. 762 /// 763 763 ///\code 764 764 ///double s=0; … … 774 774 775 775 /// Sets the iterator to the first term 776 776 777 777 /// Sets the iterator to the first term of the expression. 778 778 /// … … 792 792 793 793 /// Next term 794 794 795 795 /// Assign the iterator to the next term. 796 796 /// … … 804 804 805 805 ///Iterator over the expression 806 807 ///The iterator iterates over the terms of the expression. 808 /// 806 807 ///The iterator iterates over the terms of the expression. 808 /// 809 809 ///\code 810 810 ///double s=0; … … 820 820 821 821 /// Sets the iterator to the first term 822 822 823 823 /// Sets the iterator to the first term of the expression. 824 824 /// … … 835 835 836 836 /// Next term 837 837 838 838 /// Assign the iterator to the next term. 839 839 /// … … 1804 1804 enum VarStatus { 1805 1805 /// The variable is in the basis 1806 BASIC, 1806 BASIC, 1807 1807 /// The variable is free, but not basic 1808 1808 FREE, 1809 /// The variable has active lower bound 1809 /// The variable has active lower bound 1810 1810 LOWER, 1811 1811 /// The variable has active upper bound … … 1886 1886 } 1887 1887 /// Returns a component of the primal ray 1888 1888 1889 1889 /// The primal ray is solution of the modified primal problem, 1890 1890 /// where we change each finite bound to 0, and we looking for a … … 1920 1920 1921 1921 /// Returns a component of the dual ray 1922 1922 1923 1923 /// The dual ray is solution of the modified primal problem, where 1924 1924 /// we change each finite bound to 0 (i.e. the objective function … … 2062 2062 } 2063 2063 ///The value of the objective function 2064 2064 2065 2065 ///\return 2066 2066 ///- \ref INF or -\ref INF means either infeasibility or unboundedness -
test/lp_test.cc
r1097 r1141 42 42 using namespace lemon; 43 43 44 int countCols(LpBase & lp) { 45 int count=0; 46 for (LpBase::ColIt c(lp); c!=INVALID; ++c) ++count; 47 return count; 48 } 49 50 int countRows(LpBase & lp) { 51 int count=0; 52 for (LpBase::RowIt r(lp); r!=INVALID; ++r) ++count; 53 return count; 54 } 55 56 44 57 void lpTest(LpSolver& lp) 45 58 { 46 59 47 60 typedef LpSolver LP; 61 62 // Test LpBase::clear() 63 check(countRows(lp)==0, "Wrong number of rows"); 64 check(countCols(lp)==0, "Wrong number of cols"); 65 lp.addCol(); lp.addRow(); lp.addRow(); 66 check(countRows(lp)==2, "Wrong number of rows"); 67 check(countCols(lp)==1, "Wrong number of cols"); 68 lp.clear(); 69 check(countRows(lp)==0, "Wrong number of rows"); 70 check(countCols(lp)==0, "Wrong number of cols"); 71 lp.addCol(); lp.addCol(); lp.addCol(); lp.addRow(); 72 check(countRows(lp)==1, "Wrong number of rows"); 73 check(countCols(lp)==3, "Wrong number of cols"); 74 lp.clear(); 48 75 49 76 std::vector<LP::Col> x(10); -
test/lp_test.cc
r1140 r1141 3 3 * This file is a part of LEMON, a generic C++ optimization library. 4 4 * 5 * Copyright (C) 2003-20 095 * Copyright (C) 2003-2011 6 6 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport 7 7 * (Egervary Research Group on Combinatorial Optimization, EGRES).
Note: See TracChangeset
for help on using the changeset viewer.