Commit Graph

206 Commits

Author SHA1 Message Date
Laurent Rineau 9277a77b72 Fix all svn:keywords in */include/ 2010-10-04 11:00:27 +00:00
Yves Brise abfd45595c reverting to counting_iterator<int> in QP_models.h 2010-09-30 17:32:05 +00:00
Yves Brise 34b8544354 trying to solve 64bit unsigned int problem again 2010-09-29 21:05:51 +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 df051d8a83 minor changes in comments, and some loops (signed vs unsigned warnings ) 2010-09-16 09:04:31 +00:00
Yves Brise e2bc8436ec signed vs unsigned warning fixed 2010-09-15 06:41:54 +00:00
Yves Brise 8a795d3a57 Implemented BLAND rule for leaving variable 2010-09-13 15:04:45 +00:00
Laurent Rineau a31222bd4c Fix a bug: non-inline non-template functions were defined in headers. 2010-09-06 11:25:20 +00:00
Yves Brise 4446bc60bf revert QP_solver_impl.h because of Bland vs. artificial problem 2010-07-19 21:10:45 +00:00
Yves Brise e640b46ac0 Fixed the Bland rule in the QP_solver. In particular, the leaving variable is now also chosed according to the Bland rule. 2010-07-15 10:22: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
Andreas Fabri de2da9d4e6 Add 'using' for ansi compliance 2010-05-17 07:19:52 +00:00
Andreas Fabri aa28266015 Add 'using' for ansi compliance 2010-05-16 13:35:52 +00:00
Andreas Fabri e4c680cba4 Add using and this for ansi-compliance 2010-05-13 13:47:44 +00:00
Andreas Fabri ceaf59ea56 Add 'this->' for ansi-compliance 2010-05-10 07:38:17 +00:00
Sylvain Pion 85dc12f2a7 Remove empty lines at beginning and end of files
(apply Scripts/developer_scripts/remove_empty_lines.pl).
2010-02-01 12:55:28 +00:00
Bernd Gärtner 4cdb07ecc3 last homegrown iterator replaced by boost-based solution 2008-10-23 14:31:10 +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 3c686beb36 some more operator[]-related ad-hoc fixes for Polytope_distance_d 2008-10-09 10:06:21 +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 907223b777 First Boost 1.33.1 workaround (maybe others will be necessary as well) 2008-09-29 09:03:20 +00:00
Bernd Gärtner 081110184f - some homemade iterators replaced by boost variants 2008-07-31 20:55:38 +00:00
Bernd Gärtner 8612c935be - fixes to cope with removal of CGAL's funtional.h 2008-07-31 18:56:21 +00:00
Sylvain Pion 79864c0c8e Remove Arity_tag. 2008-07-22 12:29:01 +00:00
Sylvain Pion 2eb0d8f9e9 certainly() -> possibly(). 2008-07-14 11:16:41 +00:00
Sylvain Pion 9d7a609ff2 Make assertions trigger an error only for *certain* conditions (using CGAL::certainly()).
This is useful for interval arithmetic code.
(replay of r44002 with the header order hopefully fixed)
2008-07-10 21:49:17 +00:00
Sylvain Pion 2b4ebf01f7 Undo r44002 as it's buggy 2008-07-06 20:47:29 +00:00
Sylvain Pion 514a17ad4f Improve the interaction of assertions and interval computations.
Things like "CGAL_assertion(denominator != 0)" produced assertion failures for no gain.
So now, the assertion is triggered only if the condition is certain, using CGAL::certainly().
That is, change the following in all assertion files :
  ((EX)?(static_cast<void>(0)): ::CGAL::assertion_fail( # EX , __FILE__, __LINE__))
to :
  (CGAL::certainly(EX)?(static_cast<void>(0)): ::CGAL::assertion_fail( # EX , __FILE__, __LINE__))
2008-07-06 17:05:47 +00:00
Sylvain Pion d49e006c53 Remove default argument "0" to calls to assertion_fail() et al,
as the default is now the empty string "".
It should fix the problem that we have lost the assertion messages
(seeing "what():  basic_string::_S_construct NULL not valid" instead),
for packages that use package-specific assertion macros.
2007-12-21 21:58:27 +00:00
Bernd Gärtner b0cbc0defa - cosmetic output fix 2007-05-05 07:57:23 +00:00
Bernd Gärtner 5424f71850 - minor error/warning fixes 2007-05-01 15:55:12 +00:00
Bernd Gärtner a6aba7c40a - fixed file location in include
- renamed ...validation_flag() to ...auto_validation()
2007-04-30 10:16: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 d7a098033c - added another set of random tests (with double input, and using
a different model)
- fixed memory leak in QP_solution
- refactored validity checks a little
2007-04-26 23:56:44 +00:00
Bernd Gärtner a9be004d5a - added the interface validation methods to examples,
and referred to them from the doc (+ typo fix)
2007-04-25 01:33:32 +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 060f6bf342 - minor refactoring; test_solver now also calls the interface
methods (solve...) instead of the QP_solver directly
2007-04-23 09:12:34 +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 49ca59733c - user manual:
- added remark about possible filter failures
    - added example where they occur, and how to fix them
    - added benchmark section
- ref manual:
    - documented pricing strategies
- code:
    - made partial_filtered_dantzig the default for double input
    - added timer output to test_solver
2007-04-19 14:36:10 +00:00
Bernd Gärtner 4f4a806c0f - tested name <-> index mapping in mps reader
- fix in handling names in ranges section
2007-04-18 19:23:21 +00:00
Bernd Gärtner 7f04b33cdb - minor cleanup:
- non-debugged vout in pricing strategies removed
        - debug.h adapted to react to other things than D_NDEBUG as well
2007-04-17 20:52:11 +00:00
Bernd Gärtner 558c2e3c1e - Ron's fixes
- some debug output tweaking
2007-04-17 17:54:17 +00:00
Bernd Gärtner 159679d480 - QP_options put into manual, with cycling example 2007-04-15 19:36:07 +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 8bf9b65886 - QP_status -> Quadratic_program_status 2007-04-14 18:32:37 +00:00
Bernd Gärtner ce80f2f8db - _from_pointer models removed (they are useless as well)
- fixed and added more examples, and referred to them from manual
2007-04-14 15:39:55 +00:00
Bernd Gärtner 890c5d0fed - in Quadratic_program model, default bounds can now be configured,
and there are some tests that cover this
2007-04-13 16:12:08 +00:00
Bernd Gärtner 6ba585a7b1 - forgot that file (it's only a changed comment) 2007-04-12 14:51:36 +00:00
Bernd Gärtner 62f0ca4473 - manual:
- added QP_solution page (the fat one)
	- added package description and image
	- some minor revisions
- code:
	- renamed some QP_solution methods to make them more accessible
2007-04-12 14:50:16 +00:00
Bernd Gärtner 4214cf44b4 - simplification: some redundant models removed 2007-04-12 07:48:28 +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 8e41774983 - added performance note to solving functions doc
- changed unbounded direction w so that x + tw is the unbounded ray
- aded certificate iterators to QP_solution
- added example programs that demonstrate the certificates
- fixed examples so that 2D instead of D is given
2007-04-03 14:54:38 +00:00
Bernd Gärtner 4cbbedf839 - missing const added
- first_qp fixed to provide 2D instead of D
2007-04-03 10:05:43 +00:00
Bernd Gärtner a971b7db8a - sparse mps readers added
- minor fix in print routine
- output for mps instances deleted (it's replaced by the general template)
2007-04-03 07:14:06 +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
Andreas Fabri c7e831b9ac Removed unused arguments 2007-03-27 07:49:33 +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 51b3b30f78 - copying models now have default/copy-constructors and assignment ops
- test (and fixed) access to upper-diagonal entries in D
- MPS read/write disagreement now only triggers warning (small differences
  may be ok if floating point numbers are used)
2007-03-23 10:20:03 +00:00
Bernd Gärtner 8a7a6a899e - internal qp_D now represents 2*D 2007-03-22 13:45: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 5d9a94c31a - uninitialized variable fix 2007-03-20 10:38:39 +00:00
Bernd Gärtner 48b08c927a - added new models that copy the data and integrated them into testsuite 2007-03-19 17:02:50 +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 e527fa4c0a - U_iterator::value_type -> iterator_traits<U_iterator>:value_type
- various warnings fixed
2007-03-17 23:18:53 +00:00
Michael Hemmer 854ea80b4b rm use of CGALi::Is_field etc
replaced by use of Algebraic_category tag
2007-03-12 17:34:47 +00:00
Bernd Gärtner 1475ebf022 functor moved from dependent classes to QP_solver 2007-03-05 14:44:06 +00:00
Bernd Gärtner 6b5aaed1a0 - fixed "changes meaning" error 2007-03-01 19:26:54 +00:00
Bernd Gärtner d03d1ccaf4 - avoid division by zero gcd in Quotient_normalizer 2007-03-01 16:47:18 +00:00
Bernd Gärtner f3d98caccb - some further warning fixes 2007-02-23 09:08:12 +00:00
Bernd Gärtner 513678a4a6 - some more warning fixes 2007-02-22 10:15:03 +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 5a76699d6d - removed C-files under include/CGAL 2007-02-16 15:40:25 +00:00
Bernd Gärtner 6039e402f1 - some warning fixes, plus minimal testfile that breaks debugged platform 2007-02-16 11:56:15 +00:00
Bernd Gärtner 010463a038 - went from a[i] to *(a+i) to please debugged g++, but don't understand
the actual problem
2007-02-15 14:21:44 +00:00
Bernd Gärtner 1ecc6a24f2 - redundant friend removed; iterators now returned as "const Iterator" in the
hope of pleasing Menelaos' debugged g++ platform
2007-02-13 12:18:05 +00:00
Bernd Gärtner 7bbcbc2f31 fixes of small errors detected on various platforms 2007-02-12 08:41:50 +00:00
Bernd Gärtner 0a4fa9fa15 examples cleaned up and fixed 2007-02-08 17:57:45 +00:00
Bernd Gärtner 29bb3bfa24 QP_solver testsuite improved and adapted to Algebraic_foundations 2007-02-08 15:45:01 +00:00
Sylvain Pion fb8595b94e Cleanup : remove ancient CGAL_PROTECT_* macros.
It's the compiler's job to optimize preprocessing time.
2007-01-24 17:16:05 +00:00
Laurent Saboret 9d0d302a87 Fixed svn properties of whole trunk 2006-12-18 09:37:55 +00:00
Michael Hemmer 0257a65d7b replaced:
CGAL::exact_division(..) -> CGAL::integral_division
2006-11-17 08:56:52 +00:00
Michael Hemmer 085f9c5144 CGAL::exact_division -> CGAL::integral_division 2006-11-06 15:51:58 +00:00
Bernd Gärtner a949180978 introduced cast of qp_A[j] to A_column for cases where we get a proxy only 2006-11-01 11:57:09 +00:00
Bernd Gärtner aeb1213f4c - Free models added;
- figures/program for closest point in intersection of halfspaces
2006-10-27 14:07:45 +00:00
Bernd Gärtner 43d3e1b6bc important variables doc 2006-10-21 17:02:31 +00:00
Bernd Gärtner 503940b105 point in convex hull example added (examples+doc) 2006-10-21 15:25:32 +00:00
Bernd Gärtner d1c7c0d1f0 next user manual round 2006-10-19 20:07:04 +00:00
Bernd Gärtner b1994690c6 first part of usr manual; renamed functionality (QP->Quadratic_program...) 2006-10-19 17:47:58 +00:00
Bernd Gärtner 100bed9764 - minor documentation fix (c -> c_aux in is_sol_opt_for_aux_problem()) 2006-09-28 18:32:44 +00:00
Bernd Gärtner af94b11eb7 - ET/Quotient<ET> access to variable values/certicficates 2006-09-28 17:32:25 +00:00
Bernd Gärtner 561f2650f3 - introduced iterator for optimality certificate; the validity check
is using it now
2006-09-28 16:50:59 +00:00
Bernd Gärtner 6a05b09d69 - Unbounded_direction_iterator refactored; it now uses the
Transform_diff_const_iterator
2006-09-28 16:04:06 +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 cb9694e886 - old internal type Double removed (Gmpzf takes over) 2006-09-26 10:07:07 +00:00
Bernd Gärtner 191f397d13 - basic interface for QP_solution enhanced; interface types and names
are now consistently only introduced in QP_solution, while the virtual
  functions in QP_solver_base are implementation-centered
2006-09-26 09:54:39 +00:00