source: trunk/CoinMP/src/CoinCbc.h

Last change on this file was 556, checked in by bjarni, 6 years ago

Moving typedef void *HCBC from CoinCbc?.h to CoinCbc?.cpp for trunk 1.7

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