forked from coin-or/Clp
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdecomp2.cpp
40 lines (38 loc) · 1.18 KB
/
decomp2.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
// Copyright (C) 2008, International Business Machines
// Corporation and others. All Rights Reserved.
// This code is licensed under the terms of the Eclipse Public License (EPL).
#include "ClpSimplex.hpp"
#include "CoinStructuredModel.hpp"
#include <iomanip>
int main(int argc, const char *argv[])
{
#if COIN_BIG_INDEX<2
/* Create a structured model by reading mps file and trying
Dantzig-Wolfe decomposition (that's the 1 parameter)
*/
// At present D-W rows are hard coded - will move stuff from OSL
#if defined(NETLIBDIR)
CoinStructuredModel model((argc < 2) ? NETLIBDIR "/czprob.mps"
: argv[1], 1);
#else
if (argc<2) {
fprintf(stderr, "Do not know where to find netlib MPS files.\n");
return 1;
}
CoinStructuredModel model(argv[1], 1);
#endif
if (!model.numberRows())
exit(10);
// Get default solver - could change stuff
ClpSimplex solver;
/*
This driver does a simple Dantzig Wolfe decomposition
*/
solver.solve(&model);
// Double check
solver.primal(1);
#else
printf("decomp2 not available with COIN_BIG_INDEX=2\n");
#endif
return 0;
}