Commit Graph

206 Commits

Author SHA1 Message Date
Bernd Gärtner 49cac0da8b - removed special handling of Gmpq from QP_models, since the read-from-float
capability is now available in Gmpq.h
2006-09-19 14:30:56 +00:00
Bernd Gärtner 6a21496393 - added sparse representation and handling of LP to MPS reader; make_zero_D is removed 2006-09-16 19:12:07 +00:00
Bernd Gärtner aff6bd05a5 - made first version of QP_solution
- refactored QP_solver to have missing types / iterators from QP generated
- added normalization of variable values / solution
2006-09-14 16:46:51 +00:00
Bernd Gärtner f9ff2cfb36 - added make_qp function (more will follow: make_lp, make_nonnegative_lp,...)
- moved write_MPS out of QP_from_mps and made general
- introduced QP_solution as ref-counted wrapper for QP_solver pointers
2006-09-13 21:10:11 +00:00
Bernd Gärtner 7464866235 - added QP models
- refactored QP_solver to separate the QP, the ET and the Tags
- got rid of MPS.h, MPS.C (integrated into QP_models)
- added QP_functions.h to test full rank of QP
- added QP_solver diagnostics for friends to access
- removed ET type from MPS reader (was only needed for rank test, and now
  I'm using the new QP function for that -> faster and cleaner)
2006-09-09 14:58:32 +00:00
Bernd Gärtner d0a6a430ce removed configurable row type, now CGAL::Comparison must be used 2006-09-05 12:32:25 +00:00
Bernd Gärtner 6d9fb3278d - adapted all pricing strategies to deal with nonstandard form
- made pricing of a single variable a method in base class QP_pricing_strategy 
- added missing pricing strategy notification in enter_and_leave_variable()
2006-09-05 11:45:44 +00:00
Bernd Gärtner 33cdafd438 - adapted to new type Gmpzf
- fixed some possible sources of ambiguity: all arithmetic ops now
  have both operands of the same type
2006-08-31 11:27:31 +00:00
Bernd Gärtner 0bd5d53953 replaced CGAL::Double by CGAL::MP_Float and removed all includes of Double 2006-08-25 14:06:31 +00:00
Bernd Gärtner 02144270f0 minor fix (initialization of constant term c0 was missing) 2006-08-25 08:34:32 +00:00
Bernd Gärtner 1d057b9e59 enhanced MPS parser. It can now handle
- NAMEs with spaces
	- RANGES 
	- RHS entry for objective row (means: constant term in obj func)
enhanced QP_solver. It can now handle a constant term in obj func
2006-08-24 14:12:24 +00:00
Bernd Gärtner b8b1810b58 - added some additional assertions
- in write_MPS, 0's are now omitted
- added routine to read floating-point number in decimal format from MPS
- fixed two bugs that didn't have any effect (yet)
- commented out some expensive checks / long outputs in example programs
2006-08-24 07:45:02 +00:00
Bernd Gärtner 4b97123f03 replace bad previous commit by correct fix (just comment out expensive check) 2006-08-17 13:41:20 +00:00
Bernd Gärtner 0839e8a90c added flag to suppress rank checking in MPS-reader (might be very slow) 2006-08-17 12:49:19 +00:00
Bernd Gärtner 4f7ee400d5 fixed MPS reader so that it can handle empty bound label 2006-08-17 11:31:47 +00:00
Andreas Fabri e3d2f8a410 fixed min/max problem 2006-08-17 08:56:49 +00:00
Bernd Gärtner 84141f531b added missing resize of dependent containers in z_replace_variable() 2006-08-15 15:00:59 +00:00
Bernd Gärtner 2f86e14527 bug fixed in removal of slack variable from basis 2006-08-14 12:55:21 +00:00
Andreas Fabri 10bebd9e5a Fixed min max problem 2006-07-31 22:26:40 +00:00
Bernd Gärtner ffff51ec51 quadobj format fix + nerw test case added 2006-07-18 14:35:27 +00:00
Bernd Gärtner 6a114b6533 some remaining AUTOMATIC macros removed; minor testsuite fix 2006-07-11 14:18:59 +00:00
Bernd Gärtner 820a11c82d QP_solver.C -> QP_solver_impl.h 2006-07-11 12:08:37 +00:00
Bernd Gärtner 6579a4c658 internal h-files moved to include/CGAL/QP_solver 2006-07-11 11:19:55 +00:00
Bernd Gärtner 708b5a07a0 added Bland pricing rule; fixed sign bug in unbounded direction 2006-07-11 10:08:37 +00:00
Bernd Gärtner 5ca47b2aee fixed bug that led to wrong objective function values 2006-05-30 14:31:16 +00:00
Laurent Saboret 87d65f75e3 Fixed svn properties of ASCII files (as defined by Maintenance/svn_client/config) 2006-04-18 12:42:52 +00:00
Sylvain Pion 209e525fb4 Force initialization of data members to prevent warning. 2006-03-25 12:23:10 +00:00
Bernd Gärtner 9f2fb1444f - beautified output of test_MPS
- changed linear time index -> var_name mapping to constant time (MPS.C)
2006-03-16 11:44:46 +00:00
Bernd Gärtner 0aa2469e6c warning fix 2006-03-10 12:29:00 +00:00
Bernd Gärtner e1005296e6 - fixed bugs in Value_by_index:
- avoid using bounds in standard form
	- included denominator handling
- included new Variable_numerator_iterator in feasibility test
2006-03-06 14:22:18 +00:00
Bernd Gärtner e520a96fa3 - removed old (not useful) variable iterators that go over the whole
set of working variables; instead, the same iterators now only go
  over the original variables
2006-03-03 18:56:43 +00:00
Bernd Gärtner 27289d34c0 - added original_variables_numerator_iterator
and original_variables_value_iterator
- tested this new functionality as part of test_MPS.C
- adapted Trung's example to work with it and checked it in
2006-03-03 18:32:37 +00:00
Bernd Gärtner 2586165bee - fixed bug in ratio test for positive mu
- derivative generation is suppressed upon comment in mps-file
- warnings seen in -o3 fixed
2006-03-02 15:57:23 +00:00
Kaspar Fischer 6c0479c7e0 - added some internal routines which are currently used by
master_mps_to_derivatives.C only
2006-02-28 19:55:14 +00:00
Kaspar Fischer d7691f1dd6 - now only nonzero entries of the D matrix are output to MPS-files 2006-02-28 12:21:11 +00:00
Kaspar Fischer f924ba1920 - added master_mps_to_derivatives.C
- added CGAL header to data_to_mps.C
- QMATRIX section is only output if D is nonzero
- added function problem_name() to MPS.h
2006-02-24 15:16:30 +00:00
Kaspar Fischer 0da3b304c6 - fixed bug in MPS-output where "COLUMNS" was missing in the output 2006-02-24 10:19:34 +00:00
Kaspar Fischer 7dd4a84585 - finished MPS-output routine (and with this also data2mps) 2006-02-23 17:36:59 +00:00
Kaspar Fischer 69117c5acf - is_linear() now only returns true if D is nonzero; so far, whenever D was
present, is_linear() returned false
2006-02-23 15:35:05 +00:00
Kaspar Fischer 3364166411 - added feature to test_MPS to output the names of the variables as they occur
in the MPS file
2006-02-23 15:17:22 +00:00
Kaspar Fischer e184d87ec1 - reverted unintended removal of assertion 2006-02-21 17:44:59 +00:00
Kaspar Fischer fff7f6a07e - fixed validity check (unboundedness) 2006-02-21 17:37:34 +00:00
Kaspar Fischer 662b8e87aa - solver now provides routine mu_j(int j) to the pricing strategies which
computes the exact mu_j in both the standard form and nonstandard form case
- fixed bug in ratio_test_1__t_j() where mu_j was not correctly computed for
  problems in nonstandard form
2006-02-21 13:27:43 +00:00
Kaspar Fischer 7a42e51754 - fixed some typos in commentes 2006-02-20 15:26:07 +00:00
Kaspar Fischer 6fae29186c - moved QP_solver.C from CGAL/ to CGAL/QP_solver/ 2006-02-20 14:55:55 +00:00
Kaspar Fischer 1b666993c1 - fixed bug in validity check (optimality of auxiliary problem): the previous
revision only checked the KKT conditions for the problem in standard form
- added simple (and inefficient) class Bnd that represents a possibly infinite
  bound; the class is used in the validity check
2006-02-20 14:00:28 +00:00
Kaspar Fischer 2fe2afb760 - (uups, dropped some statement in the previous commit...) 2006-02-16 15:10:36 +00:00
Kaspar Fischer e3abce195b - fixed bug: the upper-bounding mu_j(j) should do a LP-like mu_j(j) if j is a
slack variable
- fixed bug in which the partial pricing called mu_j(j) for a variable j which
  is basic (the reason is that the active set MAY contain basic variables;
  these were priced in previous revisions)
2006-02-16 14:59:56 +00:00
Laurent Saboret db6a8f948c Change CVS keywords to SVN style 2006-02-16 14:30:13 +00:00
Kaspar Fischer c731057bbd - fixed bug in which the upper-bounded version of mu_j() was never called
- fixed issue where the feasiblity check in update_1() was called at moments
  where it need not hold
2006-02-16 13:26:41 +00:00
Kaspar Fischer f98be94d6d - prefixed atoi and exit with "std::" 2006-02-15 12:21:14 +00:00
Kaspar Fischer 71434b8c47 - fixed headers to new CGAL header format 2006-02-15 11:54:47 +00:00
Kaspar Fischer ca07866bae - fixed several occurrences of cos/sin/etc. to std::cos/std::sin/etc. 2006-02-15 11:41:19 +00:00
Kaspar Fischer 7266163a62 - changed encodeProblem to output shifted instances of the QP's, too
- fixed bug in is_solution_optimal_for_auxiliary_problem() where in case of
  a slack variable tau_aux was not incremented but set (= instead of +=)
- fixed bug in is_solution_optimal_for_auxiliary_problem() in which the special
  artificial variable was not ignored even if it droped down to zero (and
  therefore MUST be ignored)
- fixed bug in update_1() where feasibiliy does not always hold (in theory, it
  does, but as documented, is_solution_feasible() need not return true); now
  the assertion is only checked at certain times
- fixed several typos in comments
2006-02-14 17:55:52 +00:00
Laurent Saboret 1aad55d4cb Change CVS keywords to SVN style 2006-02-14 10:08:15 +00:00
Laurent Saboret 11745bfa53 Move packages to trunk root 2006-02-14 08:58:18 +00:00