- 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
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)
- 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