- 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
- 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
- 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
- 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)
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
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
- 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)
- made pricing of a single variable a method in base class QP_pricing_strategy
- added missing pricing strategy notification in enter_and_leave_variable()
- 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
- 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
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
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
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