[PPL-devel] [GIT] ppl/ppl(master): Added two paragraphs about uses of the big parameter in the documentation.
François Galea
francois.galea at uvsq.fr
Tue Mar 9 20:29:31 CET 2010
Module: ppl/ppl
Branch: master
Commit: 65156364caa2da7235862998930736ca27c83236
URL: http://www.cs.unipr.it/git/gitweb.cgi?p=ppl/ppl.git;a=commit;h=65156364caa2da7235862998930736ca27c83236
Author: François Galea <francois.galea at uvsq.fr>
Date: Tue Mar 9 20:28:29 2010 +0100
Added two paragraphs about uses of the big parameter in the documentation.
---
src/PIP_Problem.defs.hh | 35 ++++++++++++++++++++++++++++++++++-
1 files changed, 34 insertions(+), 1 deletions(-)
diff --git a/src/PIP_Problem.defs.hh b/src/PIP_Problem.defs.hh
index 0f29afb..4def1e5 100644
--- a/src/PIP_Problem.defs.hh
+++ b/src/PIP_Problem.defs.hh
@@ -316,7 +316,40 @@ operator<<(std::ostream& s, const PIP_Problem& p);
will be defined in terms of all the parameters (problem parameters
and artificial parameters defined along the path).
- FIXME: different uses of the big parameter.
+ \par Solving maximization problems
+ You can solve a lexicographic maximization problem by reformulating its
+ constraints using variable substitution. Proceed the following steps:
+ - Create a big parameter (see PIP_Problem::set_big_parameter_dimension),
+ which we will call \f$M\f$.
+ - Reformulate each of the maximization problem constraints by
+ substituting each \f$x_i\f$ variable with an expression of the form
+ \f$M-x'_i\f$, where the \f$x'_i\f$ variables are to be minimized.
+ - Solve the lexicographic minimum for the \f$x'\f$ variable vector.
+ - In the solution expressions, substitute each \f$x'_i\f$ variable back
+ to \f$M-x_i\f$.
+
+ You can choose to maximize only a subset of the variables while minimizing
+ the other variables. In that case, just apply the variable substitution
+ method on the variables you want to be maximized. The variable
+ optimization priority will still be in lexicographic order.
+
+ \par Allowing variables to be arbitrarily signed
+ You can deal with arbitrarily signed variables by reformulating the
+ constraints using variable substitution. Proceed the following steps:
+ - Create a big parameter (see PIP_Problem::set_big_parameter_dimension),
+ which we will call \f$M\f$.
+ - Reformulate each of the maximization problem constraints by
+ substituting each \f$x_i\f$ variable with an expression of the form
+ \f$M+x'_i\f$, where the \f$x'_i\f$ variables are positive.
+ - Solve the lexicographic minimum for the \f$x'\f$ variable vector.
+ - In the solution expressions, substitute each \f$x'_i\f$ variable back
+ to \f$x_i-M\f$.
+
+ You can choose to define only a subset of the variables to be
+ sign-unrestricted. In that case, just apply the variable substitution
+ method on the variables you want to be sign-unrestricted.
+
+ FIXME: Solving problems with arbitrarily signed parameters
*/
class Parma_Polyhedra_Library::PIP_Problem {
public:
More information about the PPL-devel
mailing list