[PPL-devel] [GIT] ppl/ppl(pip): In ascii dump and load methods, also print pivot row strategy info.
Enea Zaffanella
zaffanella at cs.unipr.it
Sun Feb 7 09:58:13 CET 2010
Module: ppl/ppl
Branch: pip
Commit: 9a962273cf06b0b16d7feb998f7687cd4deb5f2e
URL: http://www.cs.unipr.it/git/gitweb.cgi?p=ppl/ppl.git;a=commit;h=9a962273cf06b0b16d7feb998f7687cd4deb5f2e
Author: Enea Zaffanella <zaffanella at cs.unipr.it>
Date: Sat Feb 6 22:16:08 2010 +0100
In ascii dump and load methods, also print pivot row strategy info.
---
src/PIP_Problem.cc | 14 ++++++++++++--
tests/PIP_Problem/ascii_dump_load1.cc | 15 +++++++++++++++
2 files changed, 27 insertions(+), 2 deletions(-)
diff --git a/src/PIP_Problem.cc b/src/PIP_Problem.cc
index d9853a2..6663f45 100644
--- a/src/PIP_Problem.cc
+++ b/src/PIP_Problem.cc
@@ -328,6 +328,12 @@ PPL::PIP_Problem::ascii_dump(std::ostream& s) const {
case CUTTING_STRATEGY_ALL:
s << "CUTTING_STRATEGY_ALL";
break;
+ case PIVOT_ROW_STRATEGY_FIRST:
+ s << "PIVOT_ROW_STRATEGY_FIRST";
+ break;
+ case PIVOT_ROW_STRATEGY_MAX_COLUMN:
+ s << "PIVOT_ROW_STRATEGY_MAX_COLUMN";
+ break;
default:
s << "Invalid control parameter value";
}
@@ -427,10 +433,14 @@ PPL::PIP_Problem::ascii_load(std::istream& s) {
Control_Parameter_Value value;
if (str == "CUTTING_STRATEGY_FIRST")
value = CUTTING_STRATEGY_FIRST;
- if (str == "CUTTING_STRATEGY_DEEPEST")
+ else if (str == "CUTTING_STRATEGY_DEEPEST")
value = CUTTING_STRATEGY_DEEPEST;
- if (str == "CUTTING_STRATEGY_ALL")
+ else if (str == "CUTTING_STRATEGY_ALL")
value = CUTTING_STRATEGY_ALL;
+ else if (str == "PIVOT_ROW_STRATEGY_FIRST")
+ value = PIVOT_ROW_STRATEGY_FIRST;
+ else if (str == "PIVOT_ROW_STRATEGY_MAX_COLUMN")
+ value = PIVOT_ROW_STRATEGY_MAX_COLUMN;
else
return false;
control_parameters[i] = value;
diff --git a/tests/PIP_Problem/ascii_dump_load1.cc b/tests/PIP_Problem/ascii_dump_load1.cc
index a89c8a1..f124a30 100644
--- a/tests/PIP_Problem/ascii_dump_load1.cc
+++ b/tests/PIP_Problem/ascii_dump_load1.cc
@@ -155,6 +155,7 @@ test05() {
PIP_Problem pip1(2, cs.begin(), cs.end(), Variables_Set(P));
pip1.set_control_parameter(PIP_Problem::CUTTING_STRATEGY_ALL);
+ pip1.set_control_parameter(PIP_Problem::PIVOT_ROW_STRATEGY_MAX_COLUMN);
pip1.set_big_parameter_dimension(1);
pip1.solve();
@@ -175,6 +176,19 @@ test05() {
return ok;
}
+bool
+test06() {
+ // Testing output functions.
+ PIP_Problem pip1;
+
+ using namespace IO_Operators;
+ nout << pip1 << endl;
+
+ pip1.ascii_dump();
+
+ return true;
+}
+
} // namespace
BEGIN_MAIN
@@ -183,4 +197,5 @@ BEGIN_MAIN
DO_TEST(test03);
DO_TEST(test04);
DO_TEST(test05);
+ DO_TEST(test06);
END_MAIN
More information about the PPL-devel
mailing list