Commit Graph

33 Commits

Author SHA1 Message Date
Laurent Rineau 8f59fd9592 Turn QPL into LGPLv3+ 2012-01-13 16:33:35 +00:00
Yves Brise 40a939272d 1. some more static_casts regarding the vector.size() problem. 2. using generic size_type in counting_iterators (just testing one place in QP_models.h) 2010-09-26 14:55:11 +00:00
Yves Brise fe42440b0f Start resolving the size_t vs. int comparison problems... (part 1) 2010-09-22 14:14:42 +00:00
Yves Brise 3b04af9287 fix index out of bounds bug in Initialization.h 2010-09-17 08:09:20 +00:00
Yves Brise 8a795d3a57 Implemented BLAND rule for leaving variable 2010-09-13 15:04:45 +00:00
Sébastien Loriot 52317dd49f add python script (replace_CGAL_NAMESPACE.py) to replace CGAL_BEGIN_NAMESPACE and CGAL_END_NAMESPACE
by namespace CGAL { and } //namespace CGAL. in all .h and .cpp files
in a directory.
Apply it to all packages in the trunk
Remove macro definition from the config.h file.
2010-06-09 07:37:13 +00:00
Bernd Gärtner b5a2bb1fec qp_x[i] -> *(qp_x+i) throughout, for all user-duplied iterators 2008-10-09 13:07:49 +00:00
Bernd Gärtner c522b485c5 -some fixes to account for result of operator[] only being convertible to value type (at some point, this should sytematically be addressed by removing all occurrences of [] in the QP_solver code) 2008-10-09 09:42:02 +00:00
Bernd Gärtner 25a03549d4 - copyright years brought up-to-date
- (outdated) emails of everbody except me removed
2007-04-27 00:34:44 +00:00
Bernd Gärtner 0bc86dea9d - moved certificate check out of the solver and into solution
- at the same time, we don't check anymore by default, but there
  is an option to trigger a self-check
2007-04-25 01:19:38 +00:00
Bernd Gärtner 6a79d4f45d - some more manual fixes
- made partial pricing also work for high constraint/variable ratio (needs to
  be properly tested)
- added QSCORPIO as interesting additional example 
- switched to quotient output in iteration log to avoid nans
- removed filter_failure example (after all, this particular example
  was just an artifact of the bad to_double() routine of Gmpzf that I
  fixed earlier
2007-04-20 12:31:57 +00:00
Bernd Gärtner 4559516680 - user manual rewritten and almost complete
- added class Quadratic_program_options to customize behavior, still
  need to document it
2007-04-15 16:49:56 +00:00
Bernd Gärtner a2712eb429 - various refactorings:
- mps reader is now derived from a model that allows to set
	  up and manipulate a program entrywise
	- old copying models removed
        - free models removed (they are utterly useless)
        - a() -> get_a() etc.
        - the solver can now solve problems with no variables :-)
- manual:
        - added maker pages
        - adapted to above changes
2007-04-11 15:48:19 +00:00
Bernd Gärtner 9f5e838e6f - added a farkas-Lemma proof of infeasibility
- added test with random small QP's
- fixed some bugs discovered by this:
   - output routine for programs is now printing symmetric D
   - internal comparison routine is now ignoring bound value if it
     was specified as infinite
   - fixed sign error in subrotuine of ratio_test
   - removed constant term from consideration in phase I
2007-04-02 10:01:50 +00:00
Bernd Gärtner 290d0e7e1f - fixed all occurrences of qp_A[i][j], qp_D[i][j] (qp_A[i], qp_D[i] are in
general only convertible to the appropriate iterator types, and so the
  above will not work. The fix is to use (*(qp_A + i))[j]
2007-03-23 10:57:07 +00:00
Bernd Gärtner a82ea6875e Is_in_standard_form -> Is_nonnegative (like in interface) 2007-03-22 10:10:57 +00:00
Bernd Gärtner 00657e993b - is_valid made private and integrated into QP_solver constructor (it may use
QP data that are no longer available after the constructor call)
- fixed copying models to only copy entries of D on/below the diagonal
- fixed are_equal_qp function to only access entries of D on/below the diagonal
2007-03-22 09:41:04 +00:00
Bernd Gärtner 3992a4840c - integrated MPS print function into test suite
- cleaned up QP_functions by putting internal stuff into nested namespace
2007-03-19 14:46:14 +00:00
Bernd Gärtner b59d73c78f - fixed warnings (mainly unused variables in functions overloaded by tags) 2007-02-22 10:07:00 +00:00
Bernd Gärtner 68fc833cb5 - Is-symmetric tag removed; now all input is assumed to be symmetric.
Reason: the tag is unecessary, and allowing non-symmetric input only
  allows the user to enter redundant information
2006-09-28 14:29:33 +00:00
Bernd Gärtner a52c3881b6 - tag "Has_equalities_only_and_full_rank" removed; this is now handled
dynamically in the code. Reason: this tag is difficult to explain to
  the user, does not have any effect on the interface, and is not very
  costly to dispatch dynamically
2006-09-28 10:30:04 +00:00
Bernd Gärtner 631f1560f2 - vector O (original variable indices) removed and replaced by
proper iterator
2006-09-26 11:43:15 +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 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
Andreas Fabri 10bebd9e5a Fixed min max problem 2006-07-31 22:26:40 +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
Kaspar Fischer 71434b8c47 - fixed headers to new CGAL header format 2006-02-15 11:54:47 +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 11745bfa53 Move packages to trunk root 2006-02-14 08:58:18 +00:00