[PPL-devel] [GIT] ppl/ppl(master): Solved other instances of test02, but using different cutting strategies.
Enea Zaffanella
zaffanella at cs.unipr.it
Tue Feb 16 23:16:38 CET 2010
Module: ppl/ppl
Branch: master
Commit: d3339d25083d4cdac4a565d5aea95cf70772cc4f
URL: http://www.cs.unipr.it/git/gitweb.cgi?p=ppl/ppl.git;a=commit;h=d3339d25083d4cdac4a565d5aea95cf70772cc4f
Author: Enea Zaffanella <zaffanella at cs.unipr.it>
Date: Tue Feb 16 23:15:46 2010 +0100
Solved other instances of test02, but using different cutting strategies.
---
tests/PIP_Problem/pipproblem1.cc | 62 ++++++++++++++++++++++++++++++++++++++
1 files changed, 62 insertions(+), 0 deletions(-)
diff --git a/tests/PIP_Problem/pipproblem1.cc b/tests/PIP_Problem/pipproblem1.cc
index be8ac12..ff305ca 100644
--- a/tests/PIP_Problem/pipproblem1.cc
+++ b/tests/PIP_Problem/pipproblem1.cc
@@ -319,6 +319,66 @@ test08() {
return ok;
}
+bool
+test09() {
+ // Same problem as test02, but using CUTTING_STRATEGY_DEEPEST.
+ Variable i(0);
+ Variable j(1);
+ Variable n(2);
+ Variable m(3);
+ Variables_Set params(n, m);
+
+ Constraint_System cs;
+ cs.insert(3*j >= -2*i+8);
+ cs.insert(j <= 4*i - 4);
+ cs.insert(j <= m);
+ //cs.insert(j >= 0);
+ cs.insert(i <= n);
+
+ PIP_Problem pip(cs.space_dimension(), cs.begin(), cs.end(), params);
+ pip.set_control_parameter(PIP_Problem::CUTTING_STRATEGY_DEEPEST);
+
+ bool ok = (pip.solve() == OPTIMIZED_PIP_PROBLEM);
+ if (ok) {
+ const PIP_Tree solution = pip.solution();
+ ok &= solution->OK();
+ display_solution(solution, params, Variables_Set(i, j),
+ cs.space_dimension());
+ }
+
+ return ok;
+}
+
+bool
+test10() {
+ // Same problem as test02, but using CUTTING_STRATEGY_ALL.
+ Variable i(0);
+ Variable j(1);
+ Variable n(2);
+ Variable m(3);
+ Variables_Set params(n, m);
+
+ Constraint_System cs;
+ cs.insert(3*j >= -2*i+8);
+ cs.insert(j <= 4*i - 4);
+ cs.insert(j <= m);
+ //cs.insert(j >= 0);
+ cs.insert(i <= n);
+
+ PIP_Problem pip(cs.space_dimension(), cs.begin(), cs.end(), params);
+ pip.set_control_parameter(PIP_Problem::CUTTING_STRATEGY_ALL);
+
+ bool ok = (pip.solve() == OPTIMIZED_PIP_PROBLEM);
+ if (ok) {
+ const PIP_Tree solution = pip.solution();
+ ok &= solution->OK();
+ display_solution(solution, params, Variables_Set(i, j),
+ cs.space_dimension());
+ }
+
+ return ok;
+}
+
} // namespace
BEGIN_MAIN
@@ -330,4 +390,6 @@ BEGIN_MAIN
DO_TEST(test06);
DO_TEST_F16(test07);
DO_TEST_F16(test08);
+ DO_TEST_F16(test09);
+ DO_TEST_F16(test10);
END_MAIN
More information about the PPL-devel
mailing list