source: trunk/CoinMP/src/CoinCbc.h @ 524

Last change on this file since 524 was 366, checked in by bjarni, 10 years ago

Extract pOption/CoinOption.cpp out of pSolver/CoinSolver.cpp and update option calls in CoinCbc?

File size: 4.3 KB
Line 
1
2/*  CoinCbc.cpp  */
3
4
5#ifndef _COINCBC_H_
6#define _COINCBC_H_
7
8#include <stdlib.h>
9#include <string.h>
10#include <stdio.h>
11#include <stdarg.h>
12#include <memory.h>
13
14#include <cfloat>
15
16#include "ClpSimplex.hpp"
17#include "CbcModel.hpp"
18
19#include "CglProbing.hpp"
20#include "CglGomory.hpp"
21#include "CglKnapsackCover.hpp"
22#include "CglOddHole.hpp"
23#include "CglClique.hpp"
24#include "CglLiftAndProject.hpp"
25#include "CglSimpleRounding.hpp"
26
27
28#ifndef COIN_DBL_MAX
29#define COIN_DBL_MAX DBL_MAX
30#endif
31
32
33#if defined(_MSC_VER) && !defined(HAVE_CONFIG_H)
34#define SOLVCALL   __stdcall
35#else
36#define SOLVCALL
37#endif
38
39
40typedef void *HCBC;
41
42#ifdef __cplusplus
43extern "C" {
44#endif
45
46#define CBC_CALL_SUCCESS   0
47#define CBC_CALL_FAILED    -1
48
49int CbcOptimizeProblem(PPROBLEM pProblem, PRESULT pResult, PSOLVER pSolver, POPTION pOption, int Method);
50
51int CbcReadMpsFile(PPROBLEM pProblem, const char *ReadFilename);
52int CbcWriteMpsFile(PPROBLEM pProblem, const char *WriteFilename);
53
54int CbcGetOptionCount(void);
55int CbcGetOptionID(int OptionNr);
56SOLVOPTINFO *CbcGetOptionTable(void);
57//int CbcLocateOptionID(int OptionID);
58SOLVOPTINFO *CbcGetOptionEntry(int OptionID);
59
60int CbcGetOptionChanged(int OptionID);
61int CbcGetIntOption(int OptionID);
62int CbcSetIntOption(int OptionID, int IntValue);
63double CbcGetRealOption(int OptionID);
64int CbcSetRealOption(int OptionID, double RealValue);
65
66
67#ifdef __cplusplus
68}
69#endif
70
71#define COIN_INT_SOLVEMETHOD     1
72#define COIN_INT_PRESOLVETYPE    2
73#define COIN_INT_SCALING         3
74#define COIN_INT_PERTURBATION    4
75#define COIN_INT_PRIMALPIVOTALG  5
76#define COIN_INT_DUALPIVOTALG    6
77#define COIN_INT_LOGLEVEL        7
78#define COIN_INT_MAXITER         8
79#define COIN_INT_CRASHIND        9     
80#define COIN_INT_CRASHPIVOT     10
81#define COIN_REAL_CRASHGAP      11
82#define COIN_REAL_PRIMALOBJLIM  12
83#define COIN_REAL_DUALOBJLIM    13
84#define COIN_REAL_PRIMALOBJTOL  14
85#define COIN_REAL_DUALOBJTOL    15
86#define COIN_REAL_MAXSECONDS    16
87
88#define COIN_INT_MIPMAXNODES    17
89#define COIN_INT_MIPMAXSOL      18
90#define COIN_REAL_MIPMAXSEC     19
91
92#define COIN_INT_MIPFATHOMDISC     20
93#define COIN_INT_MIPHOTSTART       21
94//#define COIN_INT_MIPFORCEPRIOR     21
95#define COIN_INT_MIPMINIMUMDROP    22
96#define COIN_INT_MIPMAXCUTPASS     23
97#define COIN_INT_MIPMAXPASSROOT    24
98#define COIN_INT_MIPSTRONGBRANCH   25
99#define COIN_INT_MIPSCANGLOBCUTS   26
100
101#define COIN_REAL_MIPINTTOL        30
102#define COIN_REAL_MIPINFWEIGHT     31
103#define COIN_REAL_MIPCUTOFF        32
104#define COIN_REAL_MIPABSGAP        33
105#define COIN_REAL_MIPFRACGAP       34
106
107#define COIN_INT_MIPCUT_PROBING          110
108#define COIN_INT_MIPPROBE_FREQ           111
109#define COIN_INT_MIPPROBE_MODE           112
110#define COIN_INT_MIPPROBE_USEOBJ         113
111#define COIN_INT_MIPPROBE_MAXPASS        114
112#define COIN_INT_MIPPROBE_MAXPROBE       115
113#define COIN_INT_MIPPROBE_MAXLOOK        116
114#define COIN_INT_MIPPROBE_ROWCUTS        117
115
116#define COIN_INT_MIPCUT_GOMORY           120
117#define COIN_INT_MIPGOMORY_FREQ          121
118#define COIN_INT_MIPGOMORY_LIMIT         122
119#define COIN_REAL_MIPGOMORY_AWAY         123
120
121
122#define COIN_INT_MIPCUT_KNAPSACK         130
123#define COIN_INT_MIPKNAPSACK_FREQ        131
124#define COIN_INT_MIPKNAPSACK_MAXIN       132
125
126#define COIN_INT_MIPCUT_ODDHOLE          140
127#define COIN_INT_MIPODDHOLE_FREQ         141
128#define COIN_REAL_MIPODDHOLE_MINVIOL     142
129#define COIN_REAL_MIPODDHOLE_MINVIOLPER  143
130#define COIN_INT_MIPODDHOLE_MAXENTRIES   144
131
132#define COIN_INT_MIPCUT_CLIQUE           150
133#define COIN_INT_MIPCLIQUE_FREQ          151
134#define COIN_INT_MIPCLIQUE_PACKING       152
135#define COIN_INT_MIPCLIQUE_STAR          153
136#define COIN_INT_MIPCLIQUE_STARMETHOD    154
137#define COIN_INT_MIPCLIQUE_STARMAXLEN    155
138#define COIN_INT_MIPCLIQUE_STARREPORT    156
139#define COIN_INT_MIPCLIQUE_ROW           157
140#define COIN_INT_MIPCLIQUE_ROWMAXLEN     158
141#define COIN_INT_MIPCLIQUE_ROWREPORT     159
142#define COIN_REAL_MIPCLIQUE_MINVIOL      160
143
144#define COIN_INT_MIPCUT_LIFTPROJECT      170
145#define COIN_INT_MIPLIFTPRO_FREQ         171
146#define COIN_INT_MIPLIFTPRO_BETAONE      172
147
148#define COIN_INT_MIPCUT_SIMPROUND        180
149#define COIN_INT_MIPSIMPROUND_FREQ       181   
150
151#define COIN_INT_MIPUSECBCMAIN           200   
152
153#endif  /* _COINCBC_H_ */
Note: See TracBrowser for help on using the repository browser.