[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