commit 04f844d61a651c4a07d50947ee75522a510da9da Author: Santos Xavier, Alinson Date: Thu May 23 15:41:44 2019 -0500 Initial version diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..6121d2a --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +deps/build.log +deps/deps.jl +gen +Manifest.toml diff --git a/Project.toml b/Project.toml new file mode 100755 index 0000000..8fc5dc7 --- /dev/null +++ b/Project.toml @@ -0,0 +1,8 @@ +name = "CPLEXW" +uuid = "cfecb002-79c2-11e9-35be-cb59aa640f85" +authors = ["Alinson Xavier "] +version = "1.0.0" + +[deps] +CEnum = "fa961155-64e5-5f13-b03f-caf6b980ea82" +Libdl = "8f399da3-3557-5675-b5ff-fb832c97cbdb" diff --git a/deps/build.jl b/deps/build.jl new file mode 100644 index 0000000..63c7d59 --- /dev/null +++ b/deps/build.jl @@ -0,0 +1,61 @@ +using Libdl + +depsfile = joinpath(dirname(@__FILE__),"deps.jl") +if isfile(depsfile) + rm(depsfile) +end + +function write_depsfile(path) + open(depsfile,"w") do f + print(f,"const libcplex = ") + show(f, path) # print with backslashes excaped on windows + println(f) + end +end + +base_env = "CPLEX_STUDIO_BINARIES" +const cpxvers = ["128", "1280", "129", "1290"] + +libnames = String["cplex"] +for v in reverse(cpxvers) + if Sys.isapple() + push!(libnames, "libcplex$v.dylib") + elseif Sys.isunix() + push!(libnames, "libcplex$v.so") + if haskey(ENV, base_env) + push!(libnames, joinpath(ENV[base_env], "libcplex$v.so")) + end + end +end + +const wincpxvers = ["128", "1280", "129", "1290"] +@static if Sys.iswindows() + for v in reverse(wincpxvers) + env = base_env * v + if haskey(ENV,env) + for d in split(ENV[env],';') + occursin("cplex", d) || continue + if length(v) == 3 + push!(libnames,joinpath(d,"cplex$(v)0")) + else + push!(libnames,joinpath(d,"cplex$(v)")) + end + end + end + end +end + +found = false + +for l in libnames + d = Libdl.dlopen_e(l) + if d != C_NULL + global found = true + write_depsfile(Libdl.dlpath(d)) + break + end +end + +if !found + error("Unable to locate CPLEX installation") +end diff --git a/src/CPLEXW.jl b/src/CPLEXW.jl new file mode 100755 index 0000000..88dd642 --- /dev/null +++ b/src/CPLEXW.jl @@ -0,0 +1,18 @@ +module CPLEXW + using CEnum, Libdl + + if isfile(joinpath(dirname(@__FILE__),"..","deps","deps.jl")) + include("../deps/deps.jl") + else + error("CPLEXW not properly installed. Please run Pkg.build(\"CPLEXW\")") + end + + include("commons.jl") + include("cplex.jl") + + foreach(names(@__MODULE__, all=true)) do s + if startswith(string(s), "CPX") + @eval export $s + end + end +end diff --git a/src/commons.jl b/src/commons.jl new file mode 100755 index 0000000..8a229e3 --- /dev/null +++ b/src/commons.jl @@ -0,0 +1,1374 @@ +# Automatically generated using Clang.jl + + +const CPX_FEATURES_H = 1 +const CPX_FEATURE_REMOTE_OBJECT = 1 +const CPX_FEATURE_DISTRIBUTED_MIP = 1 +const CPX_CPXAUTOINTTYPES_H_H = 1 +const CPXBYTE_DEFINED = 1 +const CPXINT_DEFINED = 1 +const CPXLONG_DEFINED = 1 +const CPXSHORT_DEFINED = 1 +const CPXSIZE_BITS = 64 +const CPXULONG_DEFINED = 1 + +# Skipping MacroDefinition: CPXDEPRECATEDAPI ( version ) __attribute__ ( ( deprecated ) ) +# Skipping MacroDefinition: CPXDEPRECATED ( version ) __attribute__ ( ( deprecated ) ) +# Skipping MacroDefinition: CPXEXPORT __attribute__ ( ( visibility ( "default" ) ) ) + +const CPX_STR_PARAM_MAX = 512 + +# Skipping MacroDefinition: CPX_STATIC_INLINE static inline +# Skipping MacroDefinition: CALLBACK_BRANCH_ARGS CPXCENVptr xenv , void * cbdata , int wherefrom , void * cbhandle , int brtype , int brset , int nodecnt , int bdcnt , const int * nodebeg , const int * xindex , const char * lu , const double * bd , const double * nodeest , int * useraction_p +# Skipping MacroDefinition: CALLBACK_NODE_ARGS CPXCENVptr xenv , void * cbdata , int wherefrom , void * cbhandle , int * nodeindex , int * useraction +# Skipping MacroDefinition: CALLBACK_HEURISTIC_ARGS CPXCENVptr xenv , void * cbdata , int wherefrom , void * cbhandle , double * objval_p , double * x , int * checkfeas_p , int * useraction_p +# Skipping MacroDefinition: CALLBACK_SOLVE_ARGS CPXCENVptr xenv , void * cbdata , int wherefrom , void * cbhandle , int * useraction +# Skipping MacroDefinition: CALLBACK_CUT_ARGS CPXCENVptr xenv , void * cbdata , int wherefrom , void * cbhandle , int * useraction_p +# Skipping MacroDefinition: CALLBACK_INCUMBENT_ARGS CPXCENVptr xenv , void * cbdata , int wherefrom , void * cbhandle , double objval , double * x , int * isfeas_p , int * useraction_p +# Skipping MacroDefinition: CALLBACK_DELETENODE_ARGS CPXCENVptr xenv , int wherefrom , void * cbhandle , int seqnum , void * handle + +const CPX_VERSION = 12080000 +const CPX_VERSION_VERSION = 12 +const CPX_VERSION_RELEASE = 8 +const CPX_VERSION_MODIFICATION = 0 +const CPX_VERSION_FIX = 0 +const CPX_INFBOUND = 1.0e20 +const CPX_MINBOUND = 1.0e-13 +const CPX_PARAMTYPE_NONE = 0 +const CPX_PARAMTYPE_INT = 1 +const CPX_PARAMTYPE_DOUBLE = 2 +const CPX_PARAMTYPE_STRING = 3 +const CPX_PARAMTYPE_LONG = 4 +const CPX_NO_SOLN = 0 +const CPX_AUTO_SOLN = 0 +const CPX_BASIC_SOLN = 1 +const CPX_NONBASIC_SOLN = 2 +const CPX_PRIMAL_SOLN = 3 +const CPX_PRECOL_LOW = -1 +const CPX_PRECOL_UP = -2 +const CPX_PRECOL_FIX = -3 +const CPX_PRECOL_AGG = -4 +const CPX_PRECOL_OTHER = -5 +const CPX_PREROW_RED = -1 +const CPX_PREROW_AGG = -2 +const CPX_PREROW_OTHER = -3 +const CPX_AUTO = -1 +const CPX_ON = 1 +const CPX_OFF = 0 +const CPX_MAX = -1 +const CPX_MIN = 1 +const CPX_DATACHECK_OFF = 0 +const CPX_DATACHECK_WARN = 1 +const CPX_DATACHECK_ASSIST = 2 +const CPX_PPRIIND_PARTIAL = -1 +const CPX_PPRIIND_AUTO = 0 +const CPX_PPRIIND_DEVEX = 1 +const CPX_PPRIIND_STEEP = 2 +const CPX_PPRIIND_STEEPQSTART = 3 +const CPX_PPRIIND_FULL = 4 +const CPX_DPRIIND_AUTO = 0 +const CPX_DPRIIND_FULL = 1 +const CPX_DPRIIND_STEEP = 2 +const CPX_DPRIIND_FULLSTEEP = 3 +const CPX_DPRIIND_STEEPQSTART = 4 +const CPX_DPRIIND_DEVEX = 5 +const CPX_PARALLEL_DETERMINISTIC = 1 +const CPX_PARALLEL_AUTO = 0 +const CPX_PARALLEL_OPPORTUNISTIC = -1 +const CPX_WRITELEVEL_AUTO = 0 +const CPX_WRITELEVEL_ALLVARS = 1 +const CPX_WRITELEVEL_DISCRETEVARS = 2 +const CPX_WRITELEVEL_NONZEROVARS = 3 +const CPX_WRITELEVEL_NONZERODISCRETEVARS = 4 +const CPX_OPTIMALITYTARGET_AUTO = 0 +const CPX_OPTIMALITYTARGET_OPTIMALCONVEX = 1 +const CPX_OPTIMALITYTARGET_FIRSTORDER = 2 +const CPX_OPTIMALITYTARGET_OPTIMALGLOBAL = 3 +const CPX_ALG_NONE = -1 +const CPX_ALG_AUTOMATIC = 0 +const CPX_ALG_PRIMAL = 1 +const CPX_ALG_DUAL = 2 +const CPX_ALG_NET = 3 +const CPX_ALG_BARRIER = 4 +const CPX_ALG_SIFTING = 5 +const CPX_ALG_CONCURRENT = 6 +const CPX_ALG_BAROPT = 7 +const CPX_ALG_PIVOTIN = 8 +const CPX_ALG_PIVOTOUT = 9 +const CPX_ALG_PIVOT = 10 +const CPX_ALG_FEASOPT = 11 +const CPX_ALG_MIP = 12 +const CPX_ALG_BENDERS = 13 +const CPX_ALG_ROBUST = 14 +const CPX_AT_LOWER = 0 +const CPX_BASIC = 1 +const CPX_AT_UPPER = 2 +const CPX_FREE_SUPER = 3 +const CPX_NO_VARIABLE = 2100000000 +const CPX_CONTINUOUS = 'C' +const CPX_BINARY = 'B' +const CPX_INTEGER = 'I' +const CPX_SEMICONT = 'S' +const CPX_SEMIINT = 'N' +const CPX_PREREDUCE_PRIMALANDDUAL = 3 +const CPX_PREREDUCE_DUALONLY = 2 +const CPX_PREREDUCE_PRIMALONLY = 1 +const CPX_PREREDUCE_NOPRIMALORDUAL = 0 +const CPX_CONFLICT_EXCLUDED = -1 +const CPX_CONFLICT_POSSIBLE_MEMBER = 0 +const CPX_CONFLICT_POSSIBLE_LB = 1 +const CPX_CONFLICT_POSSIBLE_UB = 2 +const CPX_CONFLICT_MEMBER = 3 +const CPX_CONFLICT_LB = 4 +const CPX_CONFLICT_UB = 5 +const CPX_CONFLICTALG_AUTO = 0 +const CPX_CONFLICTALG_FAST = 1 +const CPX_CONFLICTALG_PROPAGATE = 2 +const CPX_CONFLICTALG_PRESOLVE = 3 +const CPX_CONFLICTALG_IIS = 4 +const CPX_CONFLICTALG_LIMITSOLVE = 5 +const CPX_CONFLICTALG_SOLVE = 6 +const CPXPROB_LP = 0 +const CPXPROB_MILP = 1 +const CPXPROB_FIXEDMILP = 3 +const CPXPROB_NODELP = 4 +const CPXPROB_QP = 5 +const CPXPROB_MIQP = 7 +const CPXPROB_FIXEDMIQP = 8 +const CPXPROB_NODEQP = 9 +const CPXPROB_QCP = 10 +const CPXPROB_MIQCP = 11 +const CPXPROB_NODEQCP = 12 +const CPX_LPREADER_LEGACY = 0 +const CPX_LPREADER_NEW = 1 +const CPX_PARAM_ALL_MIN = 1000 +const CPX_PARAM_ALL_MAX = 6000 +const CPX_CALLBACK_PRIMAL = 1 +const CPX_CALLBACK_DUAL = 2 +const CPX_CALLBACK_NETWORK = 3 +const CPX_CALLBACK_PRIMAL_CROSSOVER = 4 +const CPX_CALLBACK_DUAL_CROSSOVER = 5 +const CPX_CALLBACK_BARRIER = 6 +const CPX_CALLBACK_PRESOLVE = 7 +const CPX_CALLBACK_QPBARRIER = 8 +const CPX_CALLBACK_QPSIMPLEX = 9 +const CPX_CALLBACK_TUNING = 10 +const CPX_CALLBACK_INFO_PRIMAL_OBJ = 1 +const CPX_CALLBACK_INFO_DUAL_OBJ = 2 +const CPX_CALLBACK_INFO_PRIMAL_INFMEAS = 3 +const CPX_CALLBACK_INFO_DUAL_INFMEAS = 4 +const CPX_CALLBACK_INFO_PRIMAL_FEAS = 5 +const CPX_CALLBACK_INFO_DUAL_FEAS = 6 +const CPX_CALLBACK_INFO_ITCOUNT = 7 +const CPX_CALLBACK_INFO_CROSSOVER_PPUSH = 8 +const CPX_CALLBACK_INFO_CROSSOVER_PEXCH = 9 +const CPX_CALLBACK_INFO_CROSSOVER_DPUSH = 10 +const CPX_CALLBACK_INFO_CROSSOVER_DEXCH = 11 +const CPX_CALLBACK_INFO_CROSSOVER_SBCNT = 12 +const CPX_CALLBACK_INFO_PRESOLVE_ROWSGONE = 13 +const CPX_CALLBACK_INFO_PRESOLVE_COLSGONE = 14 +const CPX_CALLBACK_INFO_PRESOLVE_AGGSUBST = 15 +const CPX_CALLBACK_INFO_PRESOLVE_COEFFS = 16 +const CPX_CALLBACK_INFO_USER_PROBLEM = 17 +const CPX_CALLBACK_INFO_TUNING_PROGRESS = 18 +const CPX_CALLBACK_INFO_ENDTIME = 19 +const CPX_CALLBACK_INFO_ITCOUNT_LONG = 20 +const CPX_CALLBACK_INFO_CROSSOVER_PPUSH_LONG = 21 +const CPX_CALLBACK_INFO_CROSSOVER_PEXCH_LONG = 22 +const CPX_CALLBACK_INFO_CROSSOVER_DPUSH_LONG = 23 +const CPX_CALLBACK_INFO_CROSSOVER_DEXCH_LONG = 24 +const CPX_CALLBACK_INFO_PRESOLVE_AGGSUBST_LONG = 25 +const CPX_CALLBACK_INFO_PRESOLVE_COEFFS_LONG = 26 +const CPX_CALLBACK_INFO_ENDDETTIME = 27 +const CPX_CALLBACK_INFO_STARTTIME = 28 +const CPX_CALLBACK_INFO_STARTDETTIME = 29 +const CPX_TUNE_AVERAGE = 1 +const CPX_TUNE_MINMAX = 2 +const CPX_TUNE_ABORT = 1 +const CPX_TUNE_TILIM = 2 +const CPX_TUNE_DETTILIM = 3 +const CPX_FEASOPT_MIN_SUM = 0 +const CPX_FEASOPT_OPT_SUM = 1 +const CPX_FEASOPT_MIN_INF = 2 +const CPX_FEASOPT_OPT_INF = 3 +const CPX_FEASOPT_MIN_QUAD = 4 +const CPX_FEASOPT_OPT_QUAD = 5 +const CPX_BENDERSSTRATEGY_OFF = -1 +const CPX_BENDERSSTRATEGY_AUTO = 0 +const CPX_BENDERSSTRATEGY_USER = 1 +const CPX_BENDERSSTRATEGY_WORKERS = 2 +const CPX_BENDERSSTRATEGY_FULL = 3 +const CPX_ANNOTATIONDATA_LONG = 1 +const CPX_ANNOTATIONDATA_DOUBLE = 2 +const CPX_ANNOTATIONOBJ_OBJ = 0 +const CPX_ANNOTATIONOBJ_COL = 1 +const CPX_ANNOTATIONOBJ_ROW = 2 +const CPX_ANNOTATIONOBJ_SOS = 3 +const CPX_ANNOTATIONOBJ_IND = 4 +const CPX_ANNOTATIONOBJ_QC = 5 +const CPX_ANNOTATIONOBJ_LAST = 6 +const CPXIIS_COMPLETE = 1 +const CPXIIS_PARTIAL = 2 +const CPXIIS_AT_LOWER = 0 +const CPXIIS_FIXED = 1 +const CPXIIS_AT_UPPER = 2 +const CPX_BARORDER_AUTO = 0 +const CPX_BARORDER_AMD = 1 +const CPX_BARORDER_AMF = 2 +const CPX_BARORDER_ND = 3 +const CPX_MIPEMPHASIS_BALANCED = 0 +const CPX_MIPEMPHASIS_FEASIBILITY = 1 +const CPX_MIPEMPHASIS_OPTIMALITY = 2 +const CPX_MIPEMPHASIS_BESTBOUND = 3 +const CPX_MIPEMPHASIS_HIDDENFEAS = 4 +const CPX_TYPE_VAR = '0' +const CPX_TYPE_SOS1 = '1' +const CPX_TYPE_SOS2 = '2' +const CPX_TYPE_USER = 'X' +const CPX_TYPE_ANY = 'A' +const CPX_VARSEL_MININFEAS = -1 +const CPX_VARSEL_DEFAULT = 0 +const CPX_VARSEL_MAXINFEAS = 1 +const CPX_VARSEL_PSEUDO = 2 +const CPX_VARSEL_STRONG = 3 +const CPX_VARSEL_PSEUDOREDUCED = 4 +const CPX_NODESEL_DFS = 0 +const CPX_NODESEL_BESTBOUND = 1 +const CPX_NODESEL_BESTEST = 2 +const CPX_NODESEL_BESTEST_ALT = 3 +const CPX_MIPORDER_COST = 1 +const CPX_MIPORDER_BOUNDS = 2 +const CPX_MIPORDER_SCALEDCOST = 3 +const CPX_BRANCH_GLOBAL = 0 +const CPX_BRANCH_DOWN = -1 +const CPX_BRANCH_UP = 1 +const CPX_BRDIR_DOWN = -1 +const CPX_BRDIR_AUTO = 0 +const CPX_BRDIR_UP = 1 +const CPX_CUT_COVER = 0 +const CPX_CUT_GUBCOVER = 1 +const CPX_CUT_FLOWCOVER = 2 +const CPX_CUT_CLIQUE = 3 +const CPX_CUT_FRAC = 4 +const CPX_CUT_MIR = 5 +const CPX_CUT_FLOWPATH = 6 +const CPX_CUT_DISJ = 7 +const CPX_CUT_IMPLBD = 8 +const CPX_CUT_ZEROHALF = 9 +const CPX_CUT_MCF = 10 +const CPX_CUT_LOCALCOVER = 11 +const CPX_CUT_TIGHTEN = 12 +const CPX_CUT_OBJDISJ = 13 +const CPX_CUT_LANDP = 14 +const CPX_CUT_USER = 15 +const CPX_CUT_TABLE = 16 +const CPX_CUT_SOLNPOOL = 17 +const CPX_CUT_LOCALIMPLBD = 18 +const CPX_CUT_BQP = 19 +const CPX_CUT_RLT = 20 +const CPX_CUT_BENDERS = 21 +const CPX_CUT_NUM_TYPES = 22 +const CPX_MIPSEARCH_AUTO = 0 +const CPX_MIPSEARCH_TRADITIONAL = 1 +const CPX_MIPSEARCH_DYNAMIC = 2 +const CPX_MIPKAPPA_OFF = -1 +const CPX_MIPKAPPA_AUTO = 0 +const CPX_MIPKAPPA_SAMPLE = 1 +const CPX_MIPKAPPA_FULL = 2 +const CPX_MIPSTART_AUTO = 0 +const CPX_MIPSTART_CHECKFEAS = 1 +const CPX_MIPSTART_SOLVEFIXED = 2 +const CPX_MIPSTART_SOLVEMIP = 3 +const CPX_MIPSTART_REPAIR = 4 +const CPX_MIPSTART_NOCHECK = 5 +const CPX_CALLBACK_MIP = 101 +const CPX_CALLBACK_MIP_BRANCH = 102 +const CPX_CALLBACK_MIP_NODE = 103 +const CPX_CALLBACK_MIP_HEURISTIC = 104 +const CPX_CALLBACK_MIP_SOLVE = 105 +const CPX_CALLBACK_MIP_CUT_LOOP = 106 +const CPX_CALLBACK_MIP_PROBE = 107 +const CPX_CALLBACK_MIP_FRACCUT = 108 +const CPX_CALLBACK_MIP_DISJCUT = 109 +const CPX_CALLBACK_MIP_FLOWMIR = 110 +const CPX_CALLBACK_MIP_INCUMBENT_NODESOLN = 111 +const CPX_CALLBACK_MIP_DELETENODE = 112 +const CPX_CALLBACK_MIP_BRANCH_NOSOLN = 113 +const CPX_CALLBACK_MIP_CUT_LAST = 114 +const CPX_CALLBACK_MIP_CUT_FEAS = 115 +const CPX_CALLBACK_MIP_CUT_UNBD = 116 +const CPX_CALLBACK_MIP_INCUMBENT_HEURSOLN = 117 +const CPX_CALLBACK_MIP_INCUMBENT_USERSOLN = 118 +const CPX_CALLBACK_MIP_INCUMBENT_MIPSTART = 119 +const CPX_CALLBACK_INFO_BEST_INTEGER = 101 +const CPX_CALLBACK_INFO_BEST_REMAINING = 102 +const CPX_CALLBACK_INFO_NODE_COUNT = 103 +const CPX_CALLBACK_INFO_NODES_LEFT = 104 +const CPX_CALLBACK_INFO_MIP_ITERATIONS = 105 +const CPX_CALLBACK_INFO_CUTOFF = 106 +const CPX_CALLBACK_INFO_CLIQUE_COUNT = 107 +const CPX_CALLBACK_INFO_COVER_COUNT = 108 +const CPX_CALLBACK_INFO_MIP_FEAS = 109 +const CPX_CALLBACK_INFO_FLOWCOVER_COUNT = 110 +const CPX_CALLBACK_INFO_GUBCOVER_COUNT = 111 +const CPX_CALLBACK_INFO_IMPLBD_COUNT = 112 +const CPX_CALLBACK_INFO_PROBE_PHASE = 113 +const CPX_CALLBACK_INFO_PROBE_PROGRESS = 114 +const CPX_CALLBACK_INFO_FRACCUT_COUNT = 115 +const CPX_CALLBACK_INFO_FRACCUT_PROGRESS = 116 +const CPX_CALLBACK_INFO_DISJCUT_COUNT = 117 +const CPX_CALLBACK_INFO_DISJCUT_PROGRESS = 118 +const CPX_CALLBACK_INFO_FLOWPATH_COUNT = 119 +const CPX_CALLBACK_INFO_MIRCUT_COUNT = 120 +const CPX_CALLBACK_INFO_FLOWMIR_PROGRESS = 121 +const CPX_CALLBACK_INFO_ZEROHALFCUT_COUNT = 122 +const CPX_CALLBACK_INFO_MY_THREAD_NUM = 123 +const CPX_CALLBACK_INFO_USER_THREADS = 124 +const CPX_CALLBACK_INFO_MIP_REL_GAP = 125 +const CPX_CALLBACK_INFO_MCFCUT_COUNT = 126 +const CPX_CALLBACK_INFO_KAPPA_STABLE = 127 +const CPX_CALLBACK_INFO_KAPPA_SUSPICIOUS = 128 +const CPX_CALLBACK_INFO_KAPPA_UNSTABLE = 129 +const CPX_CALLBACK_INFO_KAPPA_ILLPOSED = 130 +const CPX_CALLBACK_INFO_KAPPA_MAX = 131 +const CPX_CALLBACK_INFO_KAPPA_ATTENTION = 132 +const CPX_CALLBACK_INFO_LANDPCUT_COUNT = 133 +const CPX_CALLBACK_INFO_USERCUT_COUNT = 134 +const CPX_CALLBACK_INFO_TABLECUT_COUNT = 135 +const CPX_CALLBACK_INFO_SOLNPOOLCUT_COUNT = 136 +const CPX_CALLBACK_INFO_NODE_COUNT_LONG = 140 +const CPX_CALLBACK_INFO_NODES_LEFT_LONG = 141 +const CPX_CALLBACK_INFO_MIP_ITERATIONS_LONG = 142 +const CPX_CALLBACK_INFO_LAZY_SOURCE = 143 +const CPX_CALLBACK_INFO_NODE_SIINF = 201 +const CPX_CALLBACK_INFO_NODE_NIINF = 202 +const CPX_CALLBACK_INFO_NODE_ESTIMATE = 203 +const CPX_CALLBACK_INFO_NODE_DEPTH = 204 +const CPX_CALLBACK_INFO_NODE_OBJVAL = 205 +const CPX_CALLBACK_INFO_NODE_TYPE = 206 +const CPX_CALLBACK_INFO_NODE_VAR = 207 +const CPX_CALLBACK_INFO_NODE_SOS = 208 +const CPX_CALLBACK_INFO_NODE_SEQNUM = 209 +const CPX_CALLBACK_INFO_NODE_USERHANDLE = 210 +const CPX_CALLBACK_INFO_NODE_NODENUM = 211 +const CPX_CALLBACK_INFO_NODE_SEQNUM_LONG = 220 +const CPX_CALLBACK_INFO_NODE_NODENUM_LONG = 221 +const CPX_CALLBACK_INFO_NODE_DEPTH_LONG = 222 +const CPX_CALLBACK_INFO_SOS_TYPE = 240 +const CPX_CALLBACK_INFO_SOS_SIZE = 241 +const CPX_CALLBACK_INFO_SOS_IS_FEASIBLE = 242 +const CPX_CALLBACK_INFO_SOS_MEMBER_INDEX = 244 +const CPX_CALLBACK_INFO_SOS_MEMBER_REFVAL = 246 +const CPX_CALLBACK_INFO_SOS_NUM = 247 +const CPX_CALLBACK_INFO_IC_NUM = 260 +const CPX_CALLBACK_INFO_IC_IMPLYING_VAR = 261 +const CPX_CALLBACK_INFO_IC_IMPLIED_VAR = 262 +const CPX_CALLBACK_INFO_IC_SENSE = 263 +const CPX_CALLBACK_INFO_IC_COMPL = 264 +const CPX_CALLBACK_INFO_IC_RHS = 265 +const CPX_CALLBACK_INFO_IC_IS_FEASIBLE = 266 +const CPX_INCUMBENT_ID = -1 +const CPX_RAMPUP_DISABLED = -1 +const CPX_RAMPUP_AUTO = 0 +const CPX_RAMPUP_DYNAMIC = 1 +const CPX_RAMPUP_INFINITE = 2 +const CPX_CALLBACK_DEFAULT = 0 +const CPX_CALLBACK_FAIL = 1 +const CPX_CALLBACK_SET = 2 +const CPX_CALLBACK_ABORT_CUT_LOOP = 3 +const CPX_USECUT_FORCE = 0 +const CPX_USECUT_PURGE = 1 +const CPX_USECUT_FILTER = 2 +const CPX_INTEGER_FEASIBLE = 0 +const CPX_INTEGER_INFEASIBLE = 1 +const CPX_IMPLIED_INTEGER_FEASIBLE = 2 +const CPX_CON_LOWER_BOUND = 1 +const CPX_CON_UPPER_BOUND = 2 +const CPX_CON_LINEAR = 3 +const CPX_CON_QUADRATIC = 4 +const CPX_CON_SOS = 5 +const CPX_CON_INDICATOR = 6 +const CPX_CON_MINEXPR = 7 +const CPX_CON_MAXEXPR = 8 +const CPX_CON_PWL = 9 +const CPX_CON_ABS = 9 +const CPX_CON_DISJCST = 10 +const CPX_CON_INDDISJCST = 11 +const CPX_CON_SETVAR = 12 +const CPX_CON_SETVARMEMBER = 13 +const CPX_CON_SETVARCARD = 14 +const CPX_CON_SETVARSUM = 15 +const CPX_CON_SETVARMIN = 16 +const CPX_CON_SETVARMAX = 17 +const CPX_CON_SETVARSUBSET = 18 +const CPX_CON_SETVARDOMAIN = 19 +const CPX_CON_SETVARUNION = 20 +const CPX_CON_SETVARINTERSECTION = 21 +const CPX_CON_SETVARNULLINTERSECT = 22 +const CPX_CON_SETVARINTERSECT = 23 +const CPX_CON_SETVAREQ = 24 +const CPX_CON_SETVARNEQ = 25 +const CPX_CON_SETVARNEQCST = 26 +const CPX_CON_LAST_CONTYPE = 27 +const CPX_INDICATOR_IF = 1 +const CPX_INDICATOR_ONLYIF = 2 +const CPX_INDICATOR_IFANDONLYIF = 3 +const CPXNET_NO_DISPLAY_OBJECTIVE = 0 +const CPXNET_TRUE_OBJECTIVE = 1 +const CPXNET_PENALIZED_OBJECTIVE = 2 +const CPXNET_PRICE_AUTO = 0 +const CPXNET_PRICE_PARTIAL = 1 +const CPXNET_PRICE_MULT_PART = 2 +const CPXNET_PRICE_SORT_MULT_PART = 3 +const CPX_NETFIND_PURE = 1 +const CPX_NETFIND_REFLECT = 2 +const CPX_NETFIND_SCALE = 3 +const CPX_QCPDUALS_NO = 0 +const CPX_QCPDUALS_IFPOSSIBLE = 1 +const CPX_QCPDUALS_FORCE = 2 +const CPX_CPXAUTOCONSTANTS_H_H = 1 +const CPX_BENDERS_ANNOTATION = "cpxBendersPartition" +const CPX_BENDERS_MASTERVALUE = 0 +const CPX_BIGINT = 2100000000 +const CPX_BIGLONG = Int64(9223372036800000000) +const CPX_CALLBACKCONTEXT_CANDIDATE = 0x0020 +const CPX_CALLBACKCONTEXT_GLOBAL_PROGRESS = 0x0010 +const CPX_CALLBACKCONTEXT_LOCAL_PROGRESS = 0x0008 +const CPX_CALLBACKCONTEXT_RELAXATION = 0x0040 +const CPX_CALLBACKCONTEXT_THREAD_DOWN = 0x0004 +const CPX_CALLBACKCONTEXT_THREAD_UP = 0x0002 +const CPX_DUAL_OBJ = 41 +const CPX_EXACT_KAPPA = 51 +const CPX_KAPPA = 39 +const CPX_KAPPA_ATTENTION = 57 +const CPX_KAPPA_ILLPOSED = 55 +const CPX_KAPPA_MAX = 56 +const CPX_KAPPA_STABLE = 52 +const CPX_KAPPA_SUSPICIOUS = 53 +const CPX_KAPPA_UNSTABLE = 54 +const CPX_LAZYCONSTRAINTCALLBACK_HEUR = CPX_CALLBACK_MIP_INCUMBENT_HEURSOLN +const CPX_LAZYCONSTRAINTCALLBACK_MIPSTART = CPX_CALLBACK_MIP_INCUMBENT_MIPSTART +const CPX_LAZYCONSTRAINTCALLBACK_NODE = CPX_CALLBACK_MIP_INCUMBENT_NODESOLN +const CPX_MAX_COMP_SLACK = 19 +const CPX_MAX_DUAL_INFEAS = 5 +const CPX_MAX_DUAL_RESIDUAL = 15 +const CPX_MAX_INDSLACK_INFEAS = 49 +const CPX_MAX_INT_INFEAS = 9 +const CPX_MAX_PI = 25 +const CPX_MAX_PRIMAL_INFEAS = 1 +const CPX_MAX_PRIMAL_RESIDUAL = 11 +const CPX_MAX_QCPRIMAL_RESIDUAL = 43 +const CPX_MAX_QCSLACK = 47 +const CPX_MAX_QCSLACK_INFEAS = 45 +const CPX_MAX_RED_COST = 29 +const CPX_MAX_SCALED_DUAL_INFEAS = 6 +const CPX_MAX_SCALED_DUAL_RESIDUAL = 16 +const CPX_MAX_SCALED_PI = 26 +const CPX_MAX_SCALED_PRIMAL_INFEAS = 2 +const CPX_MAX_SCALED_PRIMAL_RESIDUAL = 12 +const CPX_MAX_SCALED_RED_COST = 30 +const CPX_MAX_SCALED_SLACK = 28 +const CPX_MAX_SCALED_X = 24 +const CPX_MAX_SLACK = 27 +const CPX_MAX_X = 23 +const CPX_OBJ_GAP = 40 +const CPX_PRIMAL_OBJ = 42 +const CPX_SOLNPOOL_DIV = 2 +const CPX_SOLNPOOL_FIFO = 0 +const CPX_SOLNPOOL_FILTER_DIVERSITY = 1 +const CPX_SOLNPOOL_FILTER_RANGE = 2 +const CPX_SOLNPOOL_OBJ = 1 +const CPX_STAT_ABORT_DETTIME_LIM = 25 +const CPX_STAT_ABORT_DUAL_OBJ_LIM = 22 +const CPX_STAT_ABORT_IT_LIM = 10 +const CPX_STAT_ABORT_OBJ_LIM = 12 +const CPX_STAT_ABORT_PRIM_OBJ_LIM = 21 +const CPX_STAT_ABORT_TIME_LIM = 11 +const CPX_STAT_ABORT_USER = 13 +const CPX_STAT_BENDERS_MASTER_UNBOUNDED = 40 +const CPX_STAT_BENDERS_NUM_BEST = 41 +const CPX_STAT_CONFLICT_ABORT_CONTRADICTION = 32 +const CPX_STAT_CONFLICT_ABORT_DETTIME_LIM = 39 +const CPX_STAT_CONFLICT_ABORT_IT_LIM = 34 +const CPX_STAT_CONFLICT_ABORT_MEM_LIM = 37 +const CPX_STAT_CONFLICT_ABORT_NODE_LIM = 35 +const CPX_STAT_CONFLICT_ABORT_OBJ_LIM = 36 +const CPX_STAT_CONFLICT_ABORT_TIME_LIM = 33 +const CPX_STAT_CONFLICT_ABORT_USER = 38 +const CPX_STAT_CONFLICT_FEASIBLE = 30 +const CPX_STAT_CONFLICT_MINIMAL = 31 +const CPX_STAT_FEASIBLE = 23 +const CPX_STAT_FEASIBLE_RELAXED_INF = 16 +const CPX_STAT_FEASIBLE_RELAXED_QUAD = 18 +const CPX_STAT_FEASIBLE_RELAXED_SUM = 14 +const CPX_STAT_FIRSTORDER = 24 +const CPX_STAT_INFEASIBLE = 3 +const CPX_STAT_INForUNBD = 4 +const CPX_STAT_NUM_BEST = 6 +const CPX_STAT_OPTIMAL = 1 +const CPX_STAT_OPTIMAL_FACE_UNBOUNDED = 20 +const CPX_STAT_OPTIMAL_INFEAS = 5 +const CPX_STAT_OPTIMAL_RELAXED_INF = 17 +const CPX_STAT_OPTIMAL_RELAXED_QUAD = 19 +const CPX_STAT_OPTIMAL_RELAXED_SUM = 15 +const CPX_STAT_UNBOUNDED = 2 +const CPX_SUM_COMP_SLACK = 21 +const CPX_SUM_DUAL_INFEAS = 7 +const CPX_SUM_DUAL_RESIDUAL = 17 +const CPX_SUM_INDSLACK_INFEAS = 50 +const CPX_SUM_INT_INFEAS = 10 +const CPX_SUM_PI = 33 +const CPX_SUM_PRIMAL_INFEAS = 3 +const CPX_SUM_PRIMAL_RESIDUAL = 13 +const CPX_SUM_QCPRIMAL_RESIDUAL = 44 +const CPX_SUM_QCSLACK = 48 +const CPX_SUM_QCSLACK_INFEAS = 46 +const CPX_SUM_RED_COST = 37 +const CPX_SUM_SCALED_DUAL_INFEAS = 8 +const CPX_SUM_SCALED_DUAL_RESIDUAL = 18 +const CPX_SUM_SCALED_PI = 34 +const CPX_SUM_SCALED_PRIMAL_INFEAS = 4 +const CPX_SUM_SCALED_PRIMAL_RESIDUAL = 14 +const CPX_SUM_SCALED_RED_COST = 38 +const CPX_SUM_SCALED_SLACK = 36 +const CPX_SUM_SCALED_X = 32 +const CPX_SUM_SLACK = 35 +const CPX_SUM_X = 31 +const CPXERR_ABORT_STRONGBRANCH = 1263 +const CPXERR_ADJ_SIGN_QUAD = 1606 +const CPXERR_ADJ_SIGN_SENSE = 1604 +const CPXERR_ADJ_SIGNS = 1602 +const CPXERR_ALGNOTLICENSED = 32024 +const CPXERR_ARC_INDEX_RANGE = 1231 +const CPXERR_ARRAY_BAD_SOS_TYPE = 3009 +const CPXERR_ARRAY_NOT_ASCENDING = 1226 +const CPXERR_ARRAY_TOO_LONG = 1208 +const CPXERR_BAD_ARGUMENT = 1003 +const CPXERR_BAD_BOUND_SENSE = 1622 +const CPXERR_BAD_BOUND_TYPE = 1457 +const CPXERR_BAD_CHAR = 1537 +const CPXERR_BAD_CTYPE = 3021 +const CPXERR_BAD_DECOMPOSITION = 2002 +const CPXERR_BAD_DIRECTION = 3012 +const CPXERR_BAD_EXPO_RANGE = 1435 +const CPXERR_BAD_EXPONENT = 1618 +const CPXERR_BAD_FILETYPE = 1424 +const CPXERR_BAD_ID = 1617 +const CPXERR_BAD_INDCONSTR = 1439 +const CPXERR_BAD_INDICATOR = 1551 +const CPXERR_BAD_INDTYPE = 1216 +const CPXERR_BAD_LAZY_UCUT = 1438 +const CPXERR_BAD_LUB = 1229 +const CPXERR_BAD_METHOD = 1292 +const CPXERR_BAD_NUMBER = 1434 +const CPXERR_BAD_OBJ_SENSE = 1487 +const CPXERR_BAD_PARAM_NAME = 1028 +const CPXERR_BAD_PARAM_NUM = 1013 +const CPXERR_BAD_PIVOT = 1267 +const CPXERR_BAD_PRIORITY = 3006 +const CPXERR_BAD_PROB_TYPE = 1022 +const CPXERR_BAD_ROW_ID = 1532 +const CPXERR_BAD_SECTION_BOUNDS = 1473 +const CPXERR_BAD_SECTION_ENDATA = 1462 +const CPXERR_BAD_SECTION_QMATRIX = 1475 +const CPXERR_BAD_SENSE = 1215 +const CPXERR_BAD_SOS_TYPE = 1442 +const CPXERR_BAD_STATUS = 1253 +const CPXERR_BADPRODUCT = 32023 +const CPXERR_BAS_FILE_SHORT = 1550 +const CPXERR_BAS_FILE_SIZE = 1555 +const CPXERR_BENDERS_MASTER_SOLVE = 2001 +const CPXERR_CALLBACK = 1006 +const CPXERR_CALLBACK_INCONSISTENT = 1060 +const CPXERR_CAND_NOT_POINT = 3025 +const CPXERR_CAND_NOT_RAY = 3026 +const CPXERR_CANT_CLOSE_CHILD = 1021 +const CPXERR_CHILD_OF_CHILD = 1019 +const CPXERR_CNTRL_IN_NAME = 1236 +const CPXERR_COL_INDEX_RANGE = 1201 +const CPXERR_COL_REPEAT_PRINT = 1478 +const CPXERR_COL_REPEATS = 1446 +const CPXERR_COL_ROW_REPEATS = 1443 +const CPXERR_COL_UNKNOWN = 1449 +const CPXERR_CONFLICT_UNSTABLE = 1720 +const CPXERR_COUNT_OVERLAP = 1228 +const CPXERR_COUNT_RANGE = 1227 +const CPXERR_CPUBINDING_FAILURE = 3700 +const CPXERR_DBL_MAX = 1233 +const CPXERR_DECOMPRESSION = 1027 +const CPXERR_DETTILIM_STRONGBRANCH = 1270 +const CPXERR_DUP_ENTRY = 1222 +const CPXERR_DYNFUNC = 1815 +const CPXERR_DYNLOAD = 1814 +const CPXERR_ENCODING_CONVERSION = 1235 +const CPXERR_EXTRA_BV_BOUND = 1456 +const CPXERR_EXTRA_FR_BOUND = 1455 +const CPXERR_EXTRA_FX_BOUND = 1454 +const CPXERR_EXTRA_INTEND = 1481 +const CPXERR_EXTRA_INTORG = 1480 +const CPXERR_EXTRA_SOSEND = 1483 +const CPXERR_EXTRA_SOSORG = 1482 +const CPXERR_FAIL_OPEN_READ = 1423 +const CPXERR_FAIL_OPEN_WRITE = 1422 +const CPXERR_FILE_ENTRIES = 1553 +const CPXERR_FILE_FORMAT = 1563 +const CPXERR_FILE_IO = 1426 +const CPXERR_FILTER_VARIABLE_TYPE = 3414 +const CPXERR_ILL_DEFINED_PWL = 1213 +const CPXERR_ILOG_LICENSE = 32201 +const CPXERR_IN_INFOCALLBACK = 1804 +const CPXERR_INDEX_NOT_BASIC = 1251 +const CPXERR_INDEX_RANGE = 1200 +const CPXERR_INDEX_RANGE_HIGH = 1206 +const CPXERR_INDEX_RANGE_LOW = 1205 +const CPXERR_INT_TOO_BIG = 3018 +const CPXERR_INT_TOO_BIG_INPUT = 1463 +const CPXERR_INVALID_NUMBER = 1650 +const CPXERR_LIMITS_TOO_BIG = 1012 +const CPXERR_LINE_TOO_LONG = 1465 +const CPXERR_LO_BOUND_REPEATS = 1459 +const CPXERR_LOCK_CREATE = 1808 +const CPXERR_LP_NOT_IN_ENVIRONMENT = 1806 +const CPXERR_LP_PARSE = 1427 +const CPXERR_MASTER_SOLVE = 2005 +const CPXERR_MIPSEARCH_WITH_CALLBACKS = 1805 +const CPXERR_MISS_SOS_TYPE = 3301 +const CPXERR_MSG_NO_CHANNEL = 1051 +const CPXERR_MSG_NO_FILEPTR = 1052 +const CPXERR_MSG_NO_FUNCTION = 1053 +const CPXERR_MULTIPLE_PROBS_IN_REMOTE_ENVIRONMENT = 1816 +const CPXERR_NAME_CREATION = 1209 +const CPXERR_NAME_NOT_FOUND = 1210 +const CPXERR_NAME_TOO_LONG = 1464 +const CPXERR_NAN = 1225 +const CPXERR_NEED_OPT_SOLN = 1252 +const CPXERR_NEGATIVE_SURPLUS = 1207 +const CPXERR_NET_DATA = 1530 +const CPXERR_NET_FILE_SHORT = 1538 +const CPXERR_NO_BARRIER_SOLN = 1223 +const CPXERR_NO_BASIC_SOLN = 1261 +const CPXERR_NO_BASIS = 1262 +const CPXERR_NO_BOUND_SENSE = 1621 +const CPXERR_NO_BOUND_TYPE = 1460 +const CPXERR_NO_COLUMNS_SECTION = 1472 +const CPXERR_NO_CONFLICT = 1719 +const CPXERR_NO_DECOMPOSITION = 2000 +const CPXERR_NO_DUAL_SOLN = 1232 +const CPXERR_NO_ENDATA = 1552 +const CPXERR_NO_ENVIRONMENT = 1002 +const CPXERR_NO_FILENAME = 1421 +const CPXERR_NO_ID = 1616 +const CPXERR_NO_ID_FIRST = 1609 +const CPXERR_NO_INT_X = 3023 +const CPXERR_NO_KAPPASTATS = 1269 +const CPXERR_NO_LU_FACTOR = 1258 +const CPXERR_NO_MEMORY = 1001 +const CPXERR_NO_MIPSTART = 3020 +const CPXERR_NO_NAME_SECTION = 1441 +const CPXERR_NO_NAMES = 1219 +const CPXERR_NO_NORMS = 1264 +const CPXERR_NO_NUMBER = 1615 +const CPXERR_NO_NUMBER_BOUND = 1623 +const CPXERR_NO_NUMBER_FIRST = 1611 +const CPXERR_NO_OBJ_SENSE = 1436 +const CPXERR_NO_OBJECTIVE = 1476 +const CPXERR_NO_OP_OR_SENSE = 1608 +const CPXERR_NO_OPERATOR = 1607 +const CPXERR_NO_ORDER = 3016 +const CPXERR_NO_PROBLEM = 1009 +const CPXERR_NO_QP_OPERATOR = 1614 +const CPXERR_NO_QUAD_EXP = 1612 +const CPXERR_NO_RHS_COEFF = 1610 +const CPXERR_NO_RHS_IN_OBJ = 1211 +const CPXERR_NO_ROW_NAME = 1486 +const CPXERR_NO_ROW_SENSE = 1453 +const CPXERR_NO_ROWS_SECTION = 1471 +const CPXERR_NO_SENSIT = 1260 +const CPXERR_NO_SOLN = 1217 +const CPXERR_NO_SOLNPOOL = 3024 +const CPXERR_NO_SOS = 3015 +const CPXERR_NO_TREE = 3412 +const CPXERR_NO_VECTOR_SOLN = 1556 +const CPXERR_NODE_INDEX_RANGE = 1230 +const CPXERR_NODE_ON_DISK = 3504 +const CPXERR_NOT_DUAL_UNBOUNDED = 1265 +const CPXERR_NOT_FIXED = 1221 +const CPXERR_NOT_FOR_BENDERS = 2004 +const CPXERR_NOT_FOR_MIP = 1017 +const CPXERR_NOT_FOR_QCP = 1031 +const CPXERR_NOT_FOR_QP = 1018 +const CPXERR_NOT_MILPCLASS = 1024 +const CPXERR_NOT_MIN_COST_FLOW = 1531 +const CPXERR_NOT_MIP = 3003 +const CPXERR_NOT_MIQPCLASS = 1029 +const CPXERR_NOT_ONE_PROBLEM = 1023 +const CPXERR_NOT_QP = 5004 +const CPXERR_NOT_SAV_FILE = 1560 +const CPXERR_NOT_UNBOUNDED = 1254 +const CPXERR_NULL_POINTER = 1004 +const CPXERR_ORDER_BAD_DIRECTION = 3007 +const CPXERR_OVERFLOW = 1810 +const CPXERR_PARAM_INCOMPATIBLE = 1807 +const CPXERR_PARAM_TOO_BIG = 1015 +const CPXERR_PARAM_TOO_SMALL = 1014 +const CPXERR_PRESLV_ABORT = 1106 +const CPXERR_PRESLV_BAD_PARAM = 1122 +const CPXERR_PRESLV_BASIS_MEM = 1107 +const CPXERR_PRESLV_COPYORDER = 1109 +const CPXERR_PRESLV_COPYSOS = 1108 +const CPXERR_PRESLV_CRUSHFORM = 1121 +const CPXERR_PRESLV_DETTIME_LIM = 1124 +const CPXERR_PRESLV_DUAL = 1119 +const CPXERR_PRESLV_FAIL_BASIS = 1114 +const CPXERR_PRESLV_INF = 1117 +const CPXERR_PRESLV_INForUNBD = 1101 +const CPXERR_PRESLV_NO_BASIS = 1115 +const CPXERR_PRESLV_NO_PROB = 1103 +const CPXERR_PRESLV_SOLN_MIP = 1110 +const CPXERR_PRESLV_SOLN_QP = 1111 +const CPXERR_PRESLV_START_LP = 1112 +const CPXERR_PRESLV_TIME_LIM = 1123 +const CPXERR_PRESLV_UNBD = 1118 +const CPXERR_PRESLV_UNCRUSHFORM = 1120 +const CPXERR_PRIIND = 1257 +const CPXERR_PRM_DATA = 1660 +const CPXERR_PRM_HEADER = 1661 +const CPXERR_PROTOCOL = 1812 +const CPXERR_Q_DIVISOR = 1619 +const CPXERR_Q_DUP_ENTRY = 5011 +const CPXERR_Q_NOT_INDEF = 5014 +const CPXERR_Q_NOT_POS_DEF = 5002 +const CPXERR_Q_NOT_SYMMETRIC = 5012 +const CPXERR_QCP_SENSE = 6002 +const CPXERR_QCP_SENSE_FILE = 1437 +const CPXERR_QUAD_EXP_NOT_2 = 1613 +const CPXERR_QUAD_IN_ROW = 1605 +const CPXERR_RANGE_SECTION_ORDER = 1474 +const CPXERR_RESTRICTED_VERSION = 1016 +const CPXERR_RHS_IN_OBJ = 1603 +const CPXERR_RIM_REPEATS = 1447 +const CPXERR_RIM_ROW_REPEATS = 1444 +const CPXERR_RIMNZ_REPEATS = 1479 +const CPXERR_ROW_INDEX_RANGE = 1203 +const CPXERR_ROW_REPEAT_PRINT = 1477 +const CPXERR_ROW_REPEATS = 1445 +const CPXERR_ROW_UNKNOWN = 1448 +const CPXERR_SAV_FILE_DATA = 1561 +const CPXERR_SAV_FILE_VALUE = 1564 +const CPXERR_SAV_FILE_WRITE = 1562 +const CPXERR_SBASE_ILLEGAL = 1554 +const CPXERR_SBASE_INCOMPAT = 1255 +const CPXERR_SINGULAR = 1256 +const CPXERR_STR_PARAM_TOO_LONG = 1026 +const CPXERR_SUBPROB_SOLVE = 3019 +const CPXERR_SYNCPRIM_CREATE = 1809 +const CPXERR_SYSCALL = 1813 +const CPXERR_THREAD_FAILED = 1234 +const CPXERR_TILIM_CONDITION_NO = 1268 +const CPXERR_TILIM_STRONGBRANCH = 1266 +const CPXERR_TOO_MANY_COEFFS = 1433 +const CPXERR_TOO_MANY_COLS = 1432 +const CPXERR_TOO_MANY_RIMNZ = 1485 +const CPXERR_TOO_MANY_RIMS = 1484 +const CPXERR_TOO_MANY_ROWS = 1431 +const CPXERR_TOO_MANY_THREADS = 1020 +const CPXERR_TREE_MEMORY_LIMIT = 3413 +const CPXERR_TUNE_MIXED = 1730 +const CPXERR_UNIQUE_WEIGHTS = 3010 +const CPXERR_UNSUPPORTED_CONSTRAINT_TYPE = 1212 +const CPXERR_UNSUPPORTED_OPERATION = 1811 +const CPXERR_UP_BOUND_REPEATS = 1458 +const CPXERR_WORK_FILE_OPEN = 1801 +const CPXERR_WORK_FILE_READ = 1802 +const CPXERR_WORK_FILE_WRITE = 1803 +const CPXERR_XMLPARSE = 1425 +const CPXMESSAGEBUFSIZE = 1024 +const CPXMI_BIGM_COEF = 1040 +const CPXMI_BIGM_TO_IND = 1041 +const CPXMI_BIGM_VARBOUND = 1042 +const CPXMI_CANCEL_TOL = 1045 +const CPXMI_EPGAP_LARGE = 1038 +const CPXMI_EPGAP_OBJOFFSET = 1037 +const CPXMI_FEAS_TOL = 1043 +const CPXMI_FRACTION_SCALING = 1047 +const CPXMI_IND_NZ_LARGE_NUM = 1019 +const CPXMI_IND_NZ_SMALL_NUM = 1020 +const CPXMI_IND_RHS_LARGE_NUM = 1021 +const CPXMI_IND_RHS_SMALL_NUM = 1022 +const CPXMI_KAPPA_ILLPOSED = 1035 +const CPXMI_KAPPA_SUSPICIOUS = 1033 +const CPXMI_KAPPA_UNSTABLE = 1034 +const CPXMI_LB_LARGE_NUM = 1003 +const CPXMI_LB_SMALL_NUM = 1004 +const CPXMI_LC_NZ_LARGE_NUM = 1023 +const CPXMI_LC_NZ_SMALL_NUM = 1024 +const CPXMI_LC_RHS_LARGE_NUM = 1025 +const CPXMI_LC_RHS_SMALL_NUM = 1026 +const CPXMI_NZ_LARGE_NUM = 1009 +const CPXMI_NZ_SMALL_NUM = 1010 +const CPXMI_OBJ_LARGE_NUM = 1001 +const CPXMI_OBJ_SMALL_NUM = 1002 +const CPXMI_OPT_TOL = 1044 +const CPXMI_QC_LINNZ_LARGE_NUM = 1015 +const CPXMI_QC_LINNZ_SMALL_NUM = 1016 +const CPXMI_QC_QNZ_LARGE_NUM = 1017 +const CPXMI_QC_QNZ_SMALL_NUM = 1018 +const CPXMI_QC_RHS_LARGE_NUM = 1013 +const CPXMI_QC_RHS_SMALL_NUM = 1014 +const CPXMI_QOBJ_LARGE_NUM = 1011 +const CPXMI_QOBJ_SMALL_NUM = 1012 +const CPXMI_QOPT_TOL = 1046 +const CPXMI_RHS_LARGE_NUM = 1007 +const CPXMI_RHS_SMALL_NUM = 1008 +const CPXMI_SAMECOEFF_COL = 1050 +const CPXMI_SAMECOEFF_IND = 1051 +const CPXMI_SAMECOEFF_LAZY = 1054 +const CPXMI_SAMECOEFF_OBJ = 1057 +const CPXMI_SAMECOEFF_QLIN = 1052 +const CPXMI_SAMECOEFF_QUAD = 1053 +const CPXMI_SAMECOEFF_RHS = 1056 +const CPXMI_SAMECOEFF_ROW = 1049 +const CPXMI_SAMECOEFF_UCUT = 1055 +const CPXMI_SINGLE_PRECISION = 1036 +const CPXMI_SYMMETRY_BREAKING_INEQ = 1039 +const CPXMI_UB_LARGE_NUM = 1005 +const CPXMI_UB_SMALL_NUM = 1006 +const CPXMI_UC_NZ_LARGE_NUM = 1027 +const CPXMI_UC_NZ_SMALL_NUM = 1028 +const CPXMI_UC_RHS_LARGE_NUM = 1029 +const CPXMI_UC_RHS_SMALL_NUM = 1030 +const CPXMI_WIDE_COEFF_RANGE = 1048 +const CPXMIP_ABORT_FEAS = 113 +const CPXMIP_ABORT_INFEAS = 114 +const CPXMIP_ABORT_RELAXATION_UNBOUNDED = 133 +const CPXMIP_ABORT_RELAXED = 126 +const CPXMIP_BENDERS_MASTER_UNBOUNDED = 134 +const CPXMIP_DETTIME_LIM_FEAS = 131 +const CPXMIP_DETTIME_LIM_INFEAS = 132 +const CPXMIP_FAIL_FEAS = 109 +const CPXMIP_FAIL_FEAS_NO_TREE = 116 +const CPXMIP_FAIL_INFEAS = 110 +const CPXMIP_FAIL_INFEAS_NO_TREE = 117 +const CPXMIP_FEASIBLE = 127 +const CPXMIP_FEASIBLE_RELAXED_INF = 122 +const CPXMIP_FEASIBLE_RELAXED_QUAD = 124 +const CPXMIP_FEASIBLE_RELAXED_SUM = 120 +const CPXMIP_INFEASIBLE = 103 +const CPXMIP_INForUNBD = 119 +const CPXMIP_MEM_LIM_FEAS = 111 +const CPXMIP_MEM_LIM_INFEAS = 112 +const CPXMIP_NODE_LIM_FEAS = 105 +const CPXMIP_NODE_LIM_INFEAS = 106 +const CPXMIP_OPTIMAL = 101 +const CPXMIP_OPTIMAL_INFEAS = 115 +const CPXMIP_OPTIMAL_POPULATED = 129 +const CPXMIP_OPTIMAL_POPULATED_TOL = 130 +const CPXMIP_OPTIMAL_RELAXED_INF = 123 +const CPXMIP_OPTIMAL_RELAXED_QUAD = 125 +const CPXMIP_OPTIMAL_RELAXED_SUM = 121 +const CPXMIP_OPTIMAL_TOL = 102 +const CPXMIP_POPULATESOL_LIM = 128 +const CPXMIP_SOL_LIM = 104 +const CPXMIP_TIME_LIM_FEAS = 107 +const CPXMIP_TIME_LIM_INFEAS = 108 +const CPXMIP_UNBOUNDED = 118 +const CPX_CPXAUTOENUMS_H_H = 1 +const CPXPARAM_H = 1 +const CPXPARAM_Advance = 1001 +const CPXPARAM_Barrier_Algorithm = 3007 +const CPXPARAM_Barrier_ColNonzeros = 3009 +const CPXPARAM_Barrier_ConvergeTol = 3002 +const CPXPARAM_Barrier_Crossover = 3018 +const CPXPARAM_Barrier_Display = 3010 +const CPXPARAM_Barrier_Limits_Corrections = 3013 +const CPXPARAM_Barrier_Limits_Growth = 3003 +const CPXPARAM_Barrier_Limits_Iteration = 3012 +const CPXPARAM_Barrier_Limits_ObjRange = 3004 +const CPXPARAM_Barrier_Ordering = 3014 +const CPXPARAM_Barrier_QCPConvergeTol = 3020 +const CPXPARAM_Barrier_StartAlg = 3017 +const CPXPARAM_Benders_Strategy = 1501 +const CPXPARAM_Benders_Tolerances_feasibilitycut = 1509 +const CPXPARAM_Benders_Tolerances_optimalitycut = 1510 +const CPXPARAM_Benders_WorkerAlgorithm = 1500 +const CPXPARAM_ClockType = 1006 +const CPXPARAM_Conflict_Algorithm = 1073 +const CPXPARAM_Conflict_Display = 1074 +const CPXPARAM_CPUmask = 1144 +const CPXPARAM_DetTimeLimit = 1127 +const CPXPARAM_DistMIP_Rampup_DetTimeLimit = 2164 +const CPXPARAM_DistMIP_Rampup_Duration = 2163 +const CPXPARAM_DistMIP_Rampup_TimeLimit = 2165 +const CPXPARAM_Emphasis_Memory = 1082 +const CPXPARAM_Emphasis_MIP = 2058 +const CPXPARAM_Emphasis_Numerical = 1083 +const CPXPARAM_Feasopt_Mode = 1084 +const CPXPARAM_Feasopt_Tolerance = 2073 +const CPXPARAM_LPMethod = 1062 +const CPXPARAM_MIP_Cuts_BQP = 2195 +const CPXPARAM_MIP_Cuts_Cliques = 2003 +const CPXPARAM_MIP_Cuts_Covers = 2005 +const CPXPARAM_MIP_Cuts_Disjunctive = 2053 +const CPXPARAM_MIP_Cuts_FlowCovers = 2040 +const CPXPARAM_MIP_Cuts_Gomory = 2049 +const CPXPARAM_MIP_Cuts_GUBCovers = 2044 +const CPXPARAM_MIP_Cuts_Implied = 2041 +const CPXPARAM_MIP_Cuts_LiftProj = 2152 +const CPXPARAM_MIP_Cuts_LocalImplied = 2181 +const CPXPARAM_MIP_Cuts_MCFCut = 2134 +const CPXPARAM_MIP_Cuts_MIRCut = 2052 +const CPXPARAM_MIP_Cuts_PathCut = 2051 +const CPXPARAM_MIP_Cuts_RLT = 2196 +const CPXPARAM_MIP_Cuts_ZeroHalfCut = 2111 +const CPXPARAM_MIP_Display = 2012 +const CPXPARAM_MIP_Interval = 2013 +const CPXPARAM_MIP_Limits_AggForCut = 2054 +const CPXPARAM_MIP_Limits_AuxRootThreads = 2139 +const CPXPARAM_MIP_Limits_CutPasses = 2056 +const CPXPARAM_MIP_Limits_CutsFactor = 2033 +const CPXPARAM_MIP_Limits_EachCutLimit = 2102 +const CPXPARAM_MIP_Limits_GomoryCand = 2048 +const CPXPARAM_MIP_Limits_GomoryPass = 2050 +const CPXPARAM_MIP_Limits_Nodes = 2017 +const CPXPARAM_MIP_Limits_PolishTime = 2066 +const CPXPARAM_MIP_Limits_Populate = 2108 +const CPXPARAM_MIP_Limits_ProbeDetTime = 2150 +const CPXPARAM_MIP_Limits_ProbeTime = 2065 +const CPXPARAM_MIP_Limits_RepairTries = 2067 +const CPXPARAM_MIP_Limits_Solutions = 2015 +const CPXPARAM_MIP_Limits_StrongCand = 2045 +const CPXPARAM_MIP_Limits_StrongIt = 2046 +const CPXPARAM_MIP_Limits_SubMIPNodeLim = 2062 +const CPXPARAM_MIP_Limits_TreeMemory = 2027 +const CPXPARAM_MIP_OrderType = 2032 +const CPXPARAM_MIP_PolishAfter_AbsMIPGap = 2126 +const CPXPARAM_MIP_PolishAfter_DetTime = 2151 +const CPXPARAM_MIP_PolishAfter_MIPGap = 2127 +const CPXPARAM_MIP_PolishAfter_Nodes = 2128 +const CPXPARAM_MIP_PolishAfter_Solutions = 2129 +const CPXPARAM_MIP_PolishAfter_Time = 2130 +const CPXPARAM_MIP_Pool_AbsGap = 2106 +const CPXPARAM_MIP_Pool_Capacity = 2103 +const CPXPARAM_MIP_Pool_Intensity = 2107 +const CPXPARAM_MIP_Pool_RelGap = 2105 +const CPXPARAM_MIP_Pool_Replace = 2104 +const CPXPARAM_MIP_SubMIP_StartAlg = 2205 +const CPXPARAM_MIP_SubMIP_SubAlg = 2206 +const CPXPARAM_MIP_SubMIP_NodeLimit = 2212 +const CPXPARAM_MIP_SubMIP_Scale = 2207 +const CPXPARAM_MIP_Strategy_Backtrack = 2002 +const CPXPARAM_MIP_Strategy_BBInterval = 2039 +const CPXPARAM_MIP_Strategy_Branch = 2001 +const CPXPARAM_MIP_Strategy_CallbackReducedLP = 2055 +const CPXPARAM_MIP_Strategy_Dive = 2060 +const CPXPARAM_MIP_Strategy_File = 2016 +const CPXPARAM_MIP_Strategy_FPHeur = 2098 +const CPXPARAM_MIP_Strategy_HeuristicFreq = 2031 +const CPXPARAM_MIP_Strategy_KappaStats = 2137 +const CPXPARAM_MIP_Strategy_LBHeur = 2063 +const CPXPARAM_MIP_Strategy_MIQCPStrat = 2110 +const CPXPARAM_MIP_Strategy_NodeSelect = 2018 +const CPXPARAM_MIP_Strategy_Order = 2020 +const CPXPARAM_MIP_Strategy_PresolveNode = 2037 +const CPXPARAM_MIP_Strategy_Probe = 2042 +const CPXPARAM_MIP_Strategy_RINSHeur = 2061 +const CPXPARAM_MIP_Strategy_Search = 2109 +const CPXPARAM_MIP_Strategy_StartAlgorithm = 2025 +const CPXPARAM_MIP_Strategy_SubAlgorithm = 2026 +const CPXPARAM_MIP_Strategy_VariableSelect = 2028 +const CPXPARAM_MIP_Tolerances_AbsMIPGap = 2008 +const CPXPARAM_MIP_Tolerances_Linearization = 2068 +const CPXPARAM_MIP_Tolerances_Integrality = 2010 +const CPXPARAM_MIP_Tolerances_LowerCutoff = 2006 +const CPXPARAM_MIP_Tolerances_MIPGap = 2009 +const CPXPARAM_MIP_Tolerances_ObjDifference = 2019 +const CPXPARAM_MIP_Tolerances_RelObjDifference = 2022 +const CPXPARAM_MIP_Tolerances_UpperCutoff = 2007 +const CPXPARAM_Network_Display = 5005 +const CPXPARAM_Network_Iterations = 5001 +const CPXPARAM_Network_NetFind = 1022 +const CPXPARAM_Network_Pricing = 5004 +const CPXPARAM_Network_Tolerances_Feasibility = 5003 +const CPXPARAM_Network_Tolerances_Optimality = 5002 +const CPXPARAM_OptimalityTarget = 1131 +const CPXPARAM_Output_CloneLog = 1132 +const CPXPARAM_Output_IntSolFilePrefix = 2143 +const CPXPARAM_Output_MPSLong = 1081 +const CPXPARAM_Output_WriteLevel = 1114 +const CPXPARAM_Parallel = 1109 +const CPXPARAM_ParamDisplay = 1163 +const CPXPARAM_Preprocessing_Aggregator = 1003 +const CPXPARAM_Preprocessing_BoundStrength = 2029 +const CPXPARAM_Preprocessing_CoeffReduce = 2004 +const CPXPARAM_Preprocessing_Dependency = 1008 +const CPXPARAM_Preprocessing_Dual = 1044 +const CPXPARAM_Preprocessing_Fill = 1002 +const CPXPARAM_Preprocessing_Linear = 1058 +const CPXPARAM_Preprocessing_NumPass = 1052 +const CPXPARAM_Preprocessing_Presolve = 1030 +const CPXPARAM_Preprocessing_QCPDuals = 4003 +const CPXPARAM_Preprocessing_QPMakePSD = 4010 +const CPXPARAM_Preprocessing_QToLin = 4012 +const CPXPARAM_Preprocessing_Reduce = 1057 +const CPXPARAM_Preprocessing_Relax = 2034 +const CPXPARAM_Preprocessing_RepeatPresolve = 2064 +const CPXPARAM_Preprocessing_Symmetry = 2059 +const CPXPARAM_QPMethod = 1063 +const CPXPARAM_RandomSeed = 1124 +const CPXPARAM_Read_APIEncoding = 1130 +const CPXPARAM_Read_Constraints = 1021 +const CPXPARAM_Read_DataCheck = 1056 +const CPXPARAM_Read_FileEncoding = 1129 +const CPXPARAM_Read_Nonzeros = 1024 +const CPXPARAM_Read_QPNonzeros = 4001 +const CPXPARAM_Read_Scale = 1034 +const CPXPARAM_Read_Variables = 1023 +const CPXPARAM_Record = 1162 +const CPXPARAM_ScreenOutput = 1035 +const CPXPARAM_Sifting_Algorithm = 1077 +const CPXPARAM_Sifting_Simplex = 1158 +const CPXPARAM_Sifting_Display = 1076 +const CPXPARAM_Sifting_Iterations = 1078 +const CPXPARAM_Simplex_Crash = 1007 +const CPXPARAM_Simplex_DGradient = 1009 +const CPXPARAM_Simplex_Display = 1019 +const CPXPARAM_Simplex_DynamicRows = 1161 +const CPXPARAM_Simplex_Limits_Iterations = 1020 +const CPXPARAM_Simplex_Limits_LowerObj = 1025 +const CPXPARAM_Simplex_Limits_Perturbation = 1028 +const CPXPARAM_Simplex_Limits_Singularity = 1037 +const CPXPARAM_Simplex_Limits_UpperObj = 1026 +const CPXPARAM_Simplex_Perturbation_Constant = 1015 +const CPXPARAM_Simplex_Perturbation_Indicator = 1027 +const CPXPARAM_Simplex_PGradient = 1029 +const CPXPARAM_Simplex_Pricing = 1010 +const CPXPARAM_Simplex_Refactor = 1031 +const CPXPARAM_Simplex_Tolerances_Feasibility = 1016 +const CPXPARAM_Simplex_Tolerances_Markowitz = 1013 +const CPXPARAM_Simplex_Tolerances_Optimality = 1014 +const CPXPARAM_SolutionType = 1147 +const CPXPARAM_Threads = 1067 +const CPXPARAM_TimeLimit = 1039 +const CPXPARAM_Tune_DetTimeLimit = 1139 +const CPXPARAM_Tune_Display = 1113 +const CPXPARAM_Tune_Measure = 1110 +const CPXPARAM_Tune_Repeat = 1111 +const CPXPARAM_Tune_TimeLimit = 1112 +const CPXPARAM_WorkDir = 1064 +const CPXPARAM_WorkMem = 1065 +const PARAMS_H = 1 +const CPX_PARAM_ADVIND = 1001 +const CPX_PARAM_AGGFILL = 1002 +const CPX_PARAM_AGGIND = 1003 +const CPX_PARAM_CLOCKTYPE = 1006 +const CPX_PARAM_CRAIND = 1007 +const CPX_PARAM_DEPIND = 1008 +const CPX_PARAM_DPRIIND = 1009 +const CPX_PARAM_PRICELIM = 1010 +const CPX_PARAM_EPMRK = 1013 +const CPX_PARAM_EPOPT = 1014 +const CPX_PARAM_EPPER = 1015 +const CPX_PARAM_EPRHS = 1016 +const CPX_PARAM_SIMDISPLAY = 1019 +const CPX_PARAM_ITLIM = 1020 +const CPX_PARAM_ROWREADLIM = 1021 +const CPX_PARAM_NETFIND = 1022 +const CPX_PARAM_COLREADLIM = 1023 +const CPX_PARAM_NZREADLIM = 1024 +const CPX_PARAM_OBJLLIM = 1025 +const CPX_PARAM_OBJULIM = 1026 +const CPX_PARAM_PERIND = 1027 +const CPX_PARAM_PERLIM = 1028 +const CPX_PARAM_PPRIIND = 1029 +const CPX_PARAM_PREIND = 1030 +const CPX_PARAM_REINV = 1031 +const CPX_PARAM_SCAIND = 1034 +const CPX_PARAM_SCRIND = 1035 +const CPX_PARAM_SINGLIM = 1037 +const CPX_PARAM_TILIM = 1039 +const CPX_PARAM_PREDUAL = 1044 +const CPX_PARAM_PREPASS = 1052 +const CPX_PARAM_DATACHECK = 1056 +const CPX_PARAM_REDUCE = 1057 +const CPX_PARAM_PRELINEAR = 1058 +const CPX_PARAM_LPMETHOD = 1062 +const CPX_PARAM_QPMETHOD = 1063 +const CPX_PARAM_WORKDIR = 1064 +const CPX_PARAM_WORKMEM = 1065 +const CPX_PARAM_THREADS = 1067 +const CPX_PARAM_CONFLICTALG = 1073 +const CPX_PARAM_CONFLICTDISPLAY = 1074 +const CPX_PARAM_SIFTDISPLAY = 1076 +const CPX_PARAM_SIFTALG = 1077 +const CPX_PARAM_SIFTITLIM = 1078 +const CPX_PARAM_MPSLONGNUM = 1081 +const CPX_PARAM_MEMORYEMPHASIS = 1082 +const CPX_PARAM_NUMERICALEMPHASIS = 1083 +const CPX_PARAM_FEASOPTMODE = 1084 +const CPX_PARAM_PARALLELMODE = 1109 +const CPX_PARAM_TUNINGMEASURE = 1110 +const CPX_PARAM_TUNINGREPEAT = 1111 +const CPX_PARAM_TUNINGTILIM = 1112 +const CPX_PARAM_TUNINGDISPLAY = 1113 +const CPX_PARAM_WRITELEVEL = 1114 +const CPX_PARAM_RANDOMSEED = 1124 +const CPX_PARAM_DETTILIM = 1127 +const CPX_PARAM_FILEENCODING = 1129 +const CPX_PARAM_APIENCODING = 1130 +const CPX_PARAM_OPTIMALITYTARGET = 1131 +const CPX_PARAM_CLONELOG = 1132 +const CPX_PARAM_TUNINGDETTILIM = 1139 +const CPX_PARAM_CPUMASK = 1144 +const CPX_PARAM_SOLUTIONTYPE = 1147 +const CPX_PARAM_SIFTSIM = 1158 +const CPX_PARAM_DYNAMICROWS = 1161 +const CPX_PARAM_RECORD = 1162 +const CPX_PARAM_PARAMDISPLAY = 1163 +const CPX_PARAM_WORKERALG = 1500 +const CPX_PARAM_BENDERSSTRATEGY = 1501 +const CPX_PARAM_BENDERSFEASCUTTOL = 1509 +const CPX_PARAM_BENDERSOPTCUTTOL = 1510 +const CPX_PARAM_BRDIR = 2001 +const CPX_PARAM_BTTOL = 2002 +const CPX_PARAM_CLIQUES = 2003 +const CPX_PARAM_COEREDIND = 2004 +const CPX_PARAM_COVERS = 2005 +const CPX_PARAM_CUTLO = 2006 +const CPX_PARAM_CUTUP = 2007 +const CPX_PARAM_EPAGAP = 2008 +const CPX_PARAM_EPGAP = 2009 +const CPX_PARAM_EPINT = 2010 +const CPX_PARAM_MIPDISPLAY = 2012 +const CPX_PARAM_MIPINTERVAL = 2013 +const CPX_PARAM_INTSOLLIM = 2015 +const CPX_PARAM_NODEFILEIND = 2016 +const CPX_PARAM_NODELIM = 2017 +const CPX_PARAM_NODESEL = 2018 +const CPX_PARAM_OBJDIF = 2019 +const CPX_PARAM_MIPORDIND = 2020 +const CPX_PARAM_RELOBJDIF = 2022 +const CPX_PARAM_STARTALG = 2025 +const CPX_PARAM_SUBALG = 2026 +const CPX_PARAM_TRELIM = 2027 +const CPX_PARAM_VARSEL = 2028 +const CPX_PARAM_BNDSTRENIND = 2029 +const CPX_PARAM_HEURFREQ = 2031 +const CPX_PARAM_MIPORDTYPE = 2032 +const CPX_PARAM_CUTSFACTOR = 2033 +const CPX_PARAM_RELAXPREIND = 2034 +const CPX_PARAM_PRESLVND = 2037 +const CPX_PARAM_BBINTERVAL = 2039 +const CPX_PARAM_FLOWCOVERS = 2040 +const CPX_PARAM_IMPLBD = 2041 +const CPX_PARAM_PROBE = 2042 +const CPX_PARAM_GUBCOVERS = 2044 +const CPX_PARAM_STRONGCANDLIM = 2045 +const CPX_PARAM_STRONGITLIM = 2046 +const CPX_PARAM_FRACCAND = 2048 +const CPX_PARAM_FRACCUTS = 2049 +const CPX_PARAM_FRACPASS = 2050 +const CPX_PARAM_FLOWPATHS = 2051 +const CPX_PARAM_MIRCUTS = 2052 +const CPX_PARAM_DISJCUTS = 2053 +const CPX_PARAM_AGGCUTLIM = 2054 +const CPX_PARAM_MIPCBREDLP = 2055 +const CPX_PARAM_CUTPASS = 2056 +const CPX_PARAM_MIPEMPHASIS = 2058 +const CPX_PARAM_SYMMETRY = 2059 +const CPX_PARAM_DIVETYPE = 2060 +const CPX_PARAM_RINSHEUR = 2061 +const CPX_PARAM_SUBMIPNODELIM = 2062 +const CPX_PARAM_LBHEUR = 2063 +const CPX_PARAM_REPEATPRESOLVE = 2064 +const CPX_PARAM_PROBETIME = 2065 +const CPX_PARAM_POLISHTIME = 2066 +const CPX_PARAM_REPAIRTRIES = 2067 +const CPX_PARAM_EPLIN = 2068 +const CPX_PARAM_EPRELAX = 2073 +const CPX_PARAM_FPHEUR = 2098 +const CPX_PARAM_EACHCUTLIM = 2102 +const CPX_PARAM_SOLNPOOLCAPACITY = 2103 +const CPX_PARAM_SOLNPOOLREPLACE = 2104 +const CPX_PARAM_SOLNPOOLGAP = 2105 +const CPX_PARAM_SOLNPOOLAGAP = 2106 +const CPX_PARAM_SOLNPOOLINTENSITY = 2107 +const CPX_PARAM_POPULATELIM = 2108 +const CPX_PARAM_MIPSEARCH = 2109 +const CPX_PARAM_MIQCPSTRAT = 2110 +const CPX_PARAM_ZEROHALFCUTS = 2111 +const CPX_PARAM_POLISHAFTEREPAGAP = 2126 +const CPX_PARAM_POLISHAFTEREPGAP = 2127 +const CPX_PARAM_POLISHAFTERNODE = 2128 +const CPX_PARAM_POLISHAFTERINTSOL = 2129 +const CPX_PARAM_POLISHAFTERTIME = 2130 +const CPX_PARAM_MCFCUTS = 2134 +const CPX_PARAM_MIPKAPPASTATS = 2137 +const CPX_PARAM_AUXROOTTHREADS = 2139 +const CPX_PARAM_INTSOLFILEPREFIX = 2143 +const CPX_PARAM_PROBEDETTIME = 2150 +const CPX_PARAM_POLISHAFTERDETTIME = 2151 +const CPX_PARAM_LANDPCUTS = 2152 +const CPX_PARAM_RAMPUPDURATION = 2163 +const CPX_PARAM_RAMPUPDETTILIM = 2164 +const CPX_PARAM_RAMPUPTILIM = 2165 +const CPX_PARAM_LOCALIMPLBD = 2181 +const CPX_PARAM_BQPCUTS = 2195 +const CPX_PARAM_RLTCUTS = 2196 +const CPX_PARAM_SUBMIPSTARTALG = 2205 +const CPX_PARAM_SUBMIPSUBALG = 2206 +const CPX_PARAM_SUBMIPSCAIND = 2207 +const CPX_PARAM_SUBMIPNODELIMIT = 2212 +const CPX_PARAM_BAREPCOMP = 3002 +const CPX_PARAM_BARGROWTH = 3003 +const CPX_PARAM_BAROBJRNG = 3004 +const CPX_PARAM_BARALG = 3007 +const CPX_PARAM_BARCOLNZ = 3009 +const CPX_PARAM_BARDISPLAY = 3010 +const CPX_PARAM_BARITLIM = 3012 +const CPX_PARAM_BARMAXCOR = 3013 +const CPX_PARAM_BARORDER = 3014 +const CPX_PARAM_BARSTARTALG = 3017 +const CPX_PARAM_BARCROSSALG = 3018 +const CPX_PARAM_BARQCPEPCOMP = 3020 +const CPX_PARAM_QPNZREADLIM = 4001 +const CPX_PARAM_CALCQCPDUALS = 4003 +const CPX_PARAM_QPMAKEPSDIND = 4010 +const CPX_PARAM_QTOLININD = 4012 +const CPX_PARAM_NETITLIM = 5001 +const CPX_PARAM_NETEPOPT = 5002 +const CPX_PARAM_NETEPRHS = 5003 +const CPX_PARAM_NETPPRIIND = 5004 +const CPX_PARAM_NETDISPLAY = 5005 +const CPX_CPXAUTOTYPES_H_H = 1 +const CPX_CPXAUTOSTRUCTS_H_H = 1 +const CPXBYTE = UInt8 +const CPXINT = Cint +const CPXLONG = Clonglong +const CPXSHORT = Int16 +const CPXSIZE = CPXLONG +const CPXULONG = Culonglong +const CPXBYTE_TEST = NTuple{1, Cint} +const CPXSHORT_TEST = NTuple{1, Cint} +const CPXINT_TEST = NTuple{1, Cint} +const CPXLONG_TEST = NTuple{1, Cint} +const CPXULONG_TEST = NTuple{1, Cint} +const CPXSIZE_BITS_TEST = NTuple{1, Cint} +const CPXFILEptr = Ptr{Cvoid} +const cpxenv = Cvoid +const CPXENVptr = Ptr{cpxenv} +const CPXCENVptr = Ptr{cpxenv} +const cpxchannel = Cvoid +const CPXCHANNELptr = Ptr{cpxchannel} +const cpxlp = Cvoid +const CPXLPptr = Ptr{cpxlp} +const CPXCLPptr = Ptr{cpxlp} +const cpxnet = Cvoid +const CPXNETptr = Ptr{cpxnet} +const CPXCNETptr = Ptr{cpxnet} +const CPXCHARptr = Cstring +const CPXCCHARptr = Cstring +const CPXVOIDptr = Ptr{Cvoid} + +struct cpxiodevice + cpxiodev_eof::Ptr{Cvoid} + cpxiodev_error::Ptr{Cvoid} + cpxiodev_rewind::Ptr{Cvoid} + cpxiodev_flush::Ptr{Cvoid} + cpxiodev_close::Ptr{Cvoid} + cpxiodev_putc::Ptr{Cvoid} + cpxiodev_puts::Ptr{Cvoid} + cpxiodev_read::Ptr{Cvoid} + cpxiodev_write::Ptr{Cvoid} +end + +const CPXIODEVICE = cpxiodevice +const CPXIODEVICEptr = Ptr{cpxiodevice} + +# Skipping Typedef: CXType_FunctionProto CPXNAMEFUNCTION + +@cenum(CPXCALLBACKINFO, + CPXCALLBACKINFO_THREADID = 0, + CPXCALLBACKINFO_NODECOUNT = 1, + CPXCALLBACKINFO_ITCOUNT = 2, + CPXCALLBACKINFO_BEST_SOL = 3, + CPXCALLBACKINFO_BEST_BND = 4, + CPXCALLBACKINFO_THREADS = 5, + CPXCALLBACKINFO_FEASIBLE = 6, + CPXCALLBACKINFO_TIME = 7, + CPXCALLBACKINFO_DETTIME = 8, +) +@cenum(CPXCALLBACKSOLUTIONSTRATEGY, + CPXCALLBACKSOLUTION_CHECKFEAS = 0, + CPXCALLBACKSOLUTION_PROPAGATE = 1, +) +@cenum(CPXINFOTYPE, + CPXINFO_BYTE = 0, + CPXINFO_SHORT = 1, + CPXINFO_INT = 2, + CPXINFO_LONG = 3, + CPXINFO_DOUBLE = 4, +) + +const cpxasynchandle = Cvoid +const CPXASYNCptr = Ptr{cpxasynchandle} +const cpxcallbackcontext = Cvoid +const CPXCALLBACKCONTEXTptr = Ptr{cpxcallbackcontext} +const CPXCALLBACKFUNC = Ptr{Cvoid} +const CPXCASYNCptr = Ptr{cpxasynchandle} + +struct cpxdeserializer + getbyte::Ptr{Cvoid} + getshort::Ptr{Cvoid} + getint::Ptr{Cvoid} + getlong::Ptr{Cvoid} + getfloat::Ptr{Cvoid} + getdouble::Ptr{Cvoid} + getbytes::Ptr{Cvoid} + getshorts::Ptr{Cvoid} + getints::Ptr{Cvoid} + getlongs::Ptr{Cvoid} + getfloats::Ptr{Cvoid} + getdoubles::Ptr{Cvoid} +end + +const CPXCDESERIALIZERptr = Ptr{cpxdeserializer} +const cpxenvgroup = Cvoid +const CPXCENVGROUPptr = Ptr{cpxenvgroup} +const messagehandler = Cvoid +const CPXCMESSAGEHANDLERptr = Ptr{messagehandler} + +struct cpxserializer + addbyte::Ptr{Cvoid} + addshort::Ptr{Cvoid} + addint::Ptr{Cvoid} + addlong::Ptr{Cvoid} + addfloat::Ptr{Cvoid} + adddouble::Ptr{Cvoid} + addbytes::Ptr{Cvoid} + addshorts::Ptr{Cvoid} + addints::Ptr{Cvoid} + addlongs::Ptr{Cvoid} + addfloats::Ptr{Cvoid} + adddoubles::Ptr{Cvoid} +end + +const CPXCSERIALIZERptr = Ptr{cpxserializer} +const CPXDESERIALIZERptr = Ptr{cpxdeserializer} +const CPXENVGROUPptr = Ptr{cpxenvgroup} +const CPXINFOHANDLER = Cvoid +const CPXMESSAGEHANDLERptr = Ptr{messagehandler} +const CPXSERIALIZERptr = Ptr{cpxserializer} +const CPXUSERFUNCTION = Cvoid +const CPX_H = 1 +const CPXBAR_H = 1 +const CPXMIP_H = 1 + +# Skipping MacroDefinition: CPXgetmipobjval ( env , lp , objval_p ) CPXgetobjval ( env , lp , objval_p ) +# Skipping MacroDefinition: CPXgetmipqconstrslack ( env , lp , qcslack , begin , end ) CPXgetqconstrslack ( env , lp , qcslack , begin , end ) +# Skipping MacroDefinition: CPXgetmipslack ( env , lp , slack , begin , end ) CPXgetslack ( env , lp , slack , begin , end ) +# Skipping MacroDefinition: CPXgetmipx ( env , lp , x , begin , end ) CPXgetx ( env , lp , x , begin , end ) + +const CPXGC_H = 1 +const CPXNET_H = 1 +const CPXQP_H = 1 +const CPXSOCP_H = 1 diff --git a/src/cplex.jl b/src/cplex.jl new file mode 100755 index 0000000..a85a030 --- /dev/null +++ b/src/cplex.jl @@ -0,0 +1,1959 @@ +# Julia wrapper for header: cplex.h +# Automatically generated using Clang.jl + + +function CPXaddcols(env, lp, ccnt, nzcnt, obj, cmatbeg, cmatind, cmatval, lb, ub, colname) + ccall((:CPXaddcols, libcplex), Cint, (CPXCENVptr, CPXLPptr, Cint, Cint, Ptr{Cdouble}, Ptr{Cint}, Ptr{Cint}, Ptr{Cdouble}, Ptr{Cdouble}, Ptr{Cdouble}, Ptr{Cstring}), env, lp, ccnt, nzcnt, obj, cmatbeg, cmatind, cmatval, lb, ub, colname) +end + +function CPXaddfpdest(env, channel, fileptr) + ccall((:CPXaddfpdest, libcplex), Cint, (CPXCENVptr, CPXCHANNELptr, CPXFILEptr), env, channel, fileptr) +end + +function CPXaddfuncdest(env, channel, handle, msgfunction) + ccall((:CPXaddfuncdest, libcplex), Cint, (CPXCENVptr, CPXCHANNELptr, Ptr{Cvoid}, Ptr{Cvoid}), env, channel, handle, msgfunction) +end + +function CPXaddpwl(env, lp, vary, varx, preslope, postslope, nbreaks, breakx, breaky, pwlname) + ccall((:CPXaddpwl, libcplex), Cint, (CPXCENVptr, CPXLPptr, Cint, Cint, Cdouble, Cdouble, Cint, Ptr{Cdouble}, Ptr{Cdouble}, Cstring), env, lp, vary, varx, preslope, postslope, nbreaks, breakx, breaky, pwlname) +end + +function CPXaddrows(env, lp, ccnt, rcnt, nzcnt, rhs, sense, rmatbeg, rmatind, rmatval, colname, rowname) + ccall((:CPXaddrows, libcplex), Cint, (CPXCENVptr, CPXLPptr, Cint, Cint, Cint, Ptr{Cdouble}, Cstring, Ptr{Cint}, Ptr{Cint}, Ptr{Cdouble}, Ptr{Cstring}, Ptr{Cstring}), env, lp, ccnt, rcnt, nzcnt, rhs, sense, rmatbeg, rmatind, rmatval, colname, rowname) +end + +function CPXbasicpresolve(env, lp, redlb, redub, rstat) + ccall((:CPXbasicpresolve, libcplex), Cint, (CPXCENVptr, CPXLPptr, Ptr{Cdouble}, Ptr{Cdouble}, Ptr{Cint}), env, lp, redlb, redub, rstat) +end + +function CPXbinvacol(env, lp, j, x) + ccall((:CPXbinvacol, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Cint, Ptr{Cdouble}), env, lp, j, x) +end + +function CPXbinvarow(env, lp, i, z) + ccall((:CPXbinvarow, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Cint, Ptr{Cdouble}), env, lp, i, z) +end + +function CPXbinvcol(env, lp, j, x) + ccall((:CPXbinvcol, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Cint, Ptr{Cdouble}), env, lp, j, x) +end + +function CPXbinvrow(env, lp, i, y) + ccall((:CPXbinvrow, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Cint, Ptr{Cdouble}), env, lp, i, y) +end + +function CPXboundsa(env, lp, _begin, _end, lblower, lbupper, ublower, ubupper) + ccall((:CPXboundsa, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Cint, Cint, Ptr{Cdouble}, Ptr{Cdouble}, Ptr{Cdouble}, Ptr{Cdouble}), env, lp, _begin, _end, lblower, lbupper, ublower, ubupper) +end + +function CPXbtran(env, lp, y) + ccall((:CPXbtran, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Ptr{Cdouble}), env, lp, y) +end + +function CPXcallbackabort(context) + ccall((:CPXcallbackabort, libcplex), Cvoid, (CPXCALLBACKCONTEXTptr,), context) +end + +function CPXcallbackaddusercuts(context, rcnt, nzcnt, rhs, sense, rmatbeg, rmatind, rmatval, purgeable, _local) + ccall((:CPXcallbackaddusercuts, libcplex), Cint, (CPXCALLBACKCONTEXTptr, Cint, Cint, Ptr{Cdouble}, Cstring, Ptr{Cint}, Ptr{Cint}, Ptr{Cdouble}, Ptr{Cint}, Ptr{Cint}), context, rcnt, nzcnt, rhs, sense, rmatbeg, rmatind, rmatval, purgeable, _local) +end + +function CPXcallbackcandidateispoint(context, ispoint_p) + ccall((:CPXcallbackcandidateispoint, libcplex), Cint, (CPXCALLBACKCONTEXTptr, Ptr{Cint}), context, ispoint_p) +end + +function CPXcallbackcandidateisray(context, isray_p) + ccall((:CPXcallbackcandidateisray, libcplex), Cint, (CPXCALLBACKCONTEXTptr, Ptr{Cint}), context, isray_p) +end + +function CPXcallbackgetcandidatepoint(context, x, _begin, _end, obj_p) + ccall((:CPXcallbackgetcandidatepoint, libcplex), Cint, (CPXCALLBACKCONTEXTptr, Ptr{Cdouble}, Cint, Cint, Ptr{Cdouble}), context, x, _begin, _end, obj_p) +end + +function CPXcallbackgetcandidateray(context, x, _begin, _end) + ccall((:CPXcallbackgetcandidateray, libcplex), Cint, (CPXCALLBACKCONTEXTptr, Ptr{Cdouble}, Cint, Cint), context, x, _begin, _end) +end + +function CPXcallbackgetfunc(env, lp, contextmask_p, callback_p, cbhandle_p) + ccall((:CPXcallbackgetfunc, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Ptr{CPXLONG}, Ptr{Ptr{CPXCALLBACKFUNC}}, Ptr{Ptr{Cvoid}}), env, lp, contextmask_p, callback_p, cbhandle_p) +end + +function CPXcallbackgetincumbent(context, x, _begin, _end, obj_p) + ccall((:CPXcallbackgetincumbent, libcplex), Cint, (CPXCALLBACKCONTEXTptr, Ptr{Cdouble}, Cint, Cint, Ptr{Cdouble}), context, x, _begin, _end, obj_p) +end + +function CPXcallbackgetinfodbl(context, what, data_p) + ccall((:CPXcallbackgetinfodbl, libcplex), Cint, (CPXCALLBACKCONTEXTptr, CPXCALLBACKINFO, Ptr{Cdouble}), context, what, data_p) +end + +function CPXcallbackgetinfoint(context, what, data_p) + ccall((:CPXcallbackgetinfoint, libcplex), Cint, (CPXCALLBACKCONTEXTptr, CPXCALLBACKINFO, Ptr{CPXINT}), context, what, data_p) +end + +function CPXcallbackgetinfolong(context, what, data_p) + ccall((:CPXcallbackgetinfolong, libcplex), Cint, (CPXCALLBACKCONTEXTptr, CPXCALLBACKINFO, Ptr{CPXLONG}), context, what, data_p) +end + +function CPXcallbackgetrelaxationpoint(context, x, _begin, _end, obj_p) + ccall((:CPXcallbackgetrelaxationpoint, libcplex), Cint, (CPXCALLBACKCONTEXTptr, Ptr{Cdouble}, Cint, Cint, Ptr{Cdouble}), context, x, _begin, _end, obj_p) +end + +function CPXcallbackpostheursoln(context, cnt, ind, val, obj, strat) + ccall((:CPXcallbackpostheursoln, libcplex), Cint, (CPXCALLBACKCONTEXTptr, Cint, Ptr{Cint}, Ptr{Cdouble}, Cdouble, CPXCALLBACKSOLUTIONSTRATEGY), context, cnt, ind, val, obj, strat) +end + +function CPXcallbackrejectcandidate(context, rcnt, nzcnt, rhs, sense, rmatbeg, rmatind, rmatval) + ccall((:CPXcallbackrejectcandidate, libcplex), Cint, (CPXCALLBACKCONTEXTptr, Cint, Cint, Ptr{Cdouble}, Cstring, Ptr{Cint}, Ptr{Cint}, Ptr{Cdouble}), context, rcnt, nzcnt, rhs, sense, rmatbeg, rmatind, rmatval) +end + +function CPXcallbacksetfunc(env, lp, contextmask, callback, userhandle) + ccall((:CPXcallbacksetfunc, libcplex), Cint, (CPXENVptr, CPXLPptr, CPXLONG, CPXCALLBACKFUNC, Ptr{Cvoid}), env, lp, contextmask, callback, userhandle) +end + +function CPXcheckdfeas(env, lp, infeas_p) + ccall((:CPXcheckdfeas, libcplex), Cint, (CPXCENVptr, CPXLPptr, Ptr{Cint}), env, lp, infeas_p) +end + +function CPXcheckpfeas(env, lp, infeas_p) + ccall((:CPXcheckpfeas, libcplex), Cint, (CPXCENVptr, CPXLPptr, Ptr{Cint}), env, lp, infeas_p) +end + +function CPXchecksoln(env, lp, lpstatus_p) + ccall((:CPXchecksoln, libcplex), Cint, (CPXCENVptr, CPXLPptr, Ptr{Cint}), env, lp, lpstatus_p) +end + +function CPXchgbds(env, lp, cnt, indices, lu, bd) + ccall((:CPXchgbds, libcplex), Cint, (CPXCENVptr, CPXLPptr, Cint, Ptr{Cint}, Cstring, Ptr{Cdouble}), env, lp, cnt, indices, lu, bd) +end + +function CPXchgcoef(env, lp, i, j, newvalue) + ccall((:CPXchgcoef, libcplex), Cint, (CPXCENVptr, CPXLPptr, Cint, Cint, Cdouble), env, lp, i, j, newvalue) +end + +function CPXchgcoeflist(env, lp, numcoefs, rowlist, collist, vallist) + ccall((:CPXchgcoeflist, libcplex), Cint, (CPXCENVptr, CPXLPptr, Cint, Ptr{Cint}, Ptr{Cint}, Ptr{Cdouble}), env, lp, numcoefs, rowlist, collist, vallist) +end + +function CPXchgcolname(env, lp, cnt, indices, newname) + ccall((:CPXchgcolname, libcplex), Cint, (CPXCENVptr, CPXLPptr, Cint, Ptr{Cint}, Ptr{Cstring}), env, lp, cnt, indices, newname) +end + +function CPXchgname(env, lp, key, ij, newname_str) + ccall((:CPXchgname, libcplex), Cint, (CPXCENVptr, CPXLPptr, Cint, Cint, Cstring), env, lp, key, ij, newname_str) +end + +function CPXchgobj(env, lp, cnt, indices, values) + ccall((:CPXchgobj, libcplex), Cint, (CPXCENVptr, CPXLPptr, Cint, Ptr{Cint}, Ptr{Cdouble}), env, lp, cnt, indices, values) +end + +function CPXchgobjoffset(env, lp, offset) + ccall((:CPXchgobjoffset, libcplex), Cint, (CPXCENVptr, CPXLPptr, Cdouble), env, lp, offset) +end + +function CPXchgobjsen(env, lp, maxormin) + ccall((:CPXchgobjsen, libcplex), Cint, (CPXCENVptr, CPXLPptr, Cint), env, lp, maxormin) +end + +function CPXchgprobname(env, lp, probname) + ccall((:CPXchgprobname, libcplex), Cint, (CPXCENVptr, CPXLPptr, Cstring), env, lp, probname) +end + +function CPXchgprobtype(env, lp, type) + ccall((:CPXchgprobtype, libcplex), Cint, (CPXCENVptr, CPXLPptr, Cint), env, lp, type) +end + +function CPXchgprobtypesolnpool(env, lp, type, soln) + ccall((:CPXchgprobtypesolnpool, libcplex), Cint, (CPXCENVptr, CPXLPptr, Cint, Cint), env, lp, type, soln) +end + +function CPXchgrhs(env, lp, cnt, indices, values) + ccall((:CPXchgrhs, libcplex), Cint, (CPXCENVptr, CPXLPptr, Cint, Ptr{Cint}, Ptr{Cdouble}), env, lp, cnt, indices, values) +end + +function CPXchgrngval(env, lp, cnt, indices, values) + ccall((:CPXchgrngval, libcplex), Cint, (CPXCENVptr, CPXLPptr, Cint, Ptr{Cint}, Ptr{Cdouble}), env, lp, cnt, indices, values) +end + +function CPXchgrowname(env, lp, cnt, indices, newname) + ccall((:CPXchgrowname, libcplex), Cint, (CPXCENVptr, CPXLPptr, Cint, Ptr{Cint}, Ptr{Cstring}), env, lp, cnt, indices, newname) +end + +function CPXchgsense(env, lp, cnt, indices, sense) + ccall((:CPXchgsense, libcplex), Cint, (CPXCENVptr, CPXLPptr, Cint, Ptr{Cint}, Cstring), env, lp, cnt, indices, sense) +end + +function CPXcleanup(env, lp, eps) + ccall((:CPXcleanup, libcplex), Cint, (CPXCENVptr, CPXLPptr, Cdouble), env, lp, eps) +end + +function CPXcloneprob(env, lp, status_p) + ccall((:CPXcloneprob, libcplex), CPXLPptr, (CPXCENVptr, CPXCLPptr, Ptr{Cint}), env, lp, status_p) +end + +function CPXcloseCPLEX(env_p) + ccall((:CPXcloseCPLEX, libcplex), Cint, (Ptr{CPXENVptr},), env_p) +end + +function CPXclpwrite(env, lp, filename_str) + ccall((:CPXclpwrite, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Cstring), env, lp, filename_str) +end + +function CPXcompletelp(env, lp) + ccall((:CPXcompletelp, libcplex), Cint, (CPXCENVptr, CPXLPptr), env, lp) +end + +function CPXcopybase(env, lp, cstat, rstat) + ccall((:CPXcopybase, libcplex), Cint, (CPXCENVptr, CPXLPptr, Ptr{Cint}, Ptr{Cint}), env, lp, cstat, rstat) +end + +function CPXcopybasednorms(env, lp, cstat, rstat, dnorm) + ccall((:CPXcopybasednorms, libcplex), Cint, (CPXCENVptr, CPXLPptr, Ptr{Cint}, Ptr{Cint}, Ptr{Cdouble}), env, lp, cstat, rstat, dnorm) +end + +function CPXcopydnorms(env, lp, norm, head, len) + ccall((:CPXcopydnorms, libcplex), Cint, (CPXCENVptr, CPXLPptr, Ptr{Cdouble}, Ptr{Cint}, Cint), env, lp, norm, head, len) +end + +function CPXcopylp(env, lp, numcols, numrows, objsense, objective, rhs, sense, matbeg, matcnt, matind, matval, lb, ub, rngval) + ccall((:CPXcopylp, libcplex), Cint, (CPXCENVptr, CPXLPptr, Cint, Cint, Cint, Ptr{Cdouble}, Ptr{Cdouble}, Cstring, Ptr{Cint}, Ptr{Cint}, Ptr{Cint}, Ptr{Cdouble}, Ptr{Cdouble}, Ptr{Cdouble}, Ptr{Cdouble}), env, lp, numcols, numrows, objsense, objective, rhs, sense, matbeg, matcnt, matind, matval, lb, ub, rngval) +end + +function CPXcopylpwnames(env, lp, numcols, numrows, objsense, objective, rhs, sense, matbeg, matcnt, matind, matval, lb, ub, rngval, colname, rowname) + ccall((:CPXcopylpwnames, libcplex), Cint, (CPXCENVptr, CPXLPptr, Cint, Cint, Cint, Ptr{Cdouble}, Ptr{Cdouble}, Cstring, Ptr{Cint}, Ptr{Cint}, Ptr{Cint}, Ptr{Cdouble}, Ptr{Cdouble}, Ptr{Cdouble}, Ptr{Cdouble}, Ptr{Cstring}, Ptr{Cstring}), env, lp, numcols, numrows, objsense, objective, rhs, sense, matbeg, matcnt, matind, matval, lb, ub, rngval, colname, rowname) +end + +function CPXcopynettolp(env, lp, net) + ccall((:CPXcopynettolp, libcplex), Cint, (CPXCENVptr, CPXLPptr, CPXCNETptr), env, lp, net) +end + +function CPXcopyobjname(env, lp, objname_str) + ccall((:CPXcopyobjname, libcplex), Cint, (CPXCENVptr, CPXLPptr, Cstring), env, lp, objname_str) +end + +function CPXcopypartialbase(env, lp, ccnt, cindices, cstat, rcnt, rindices, rstat) + ccall((:CPXcopypartialbase, libcplex), Cint, (CPXCENVptr, CPXLPptr, Cint, Ptr{Cint}, Ptr{Cint}, Cint, Ptr{Cint}, Ptr{Cint}), env, lp, ccnt, cindices, cstat, rcnt, rindices, rstat) +end + +function CPXcopypnorms(env, lp, cnorm, rnorm, len) + ccall((:CPXcopypnorms, libcplex), Cint, (CPXCENVptr, CPXLPptr, Ptr{Cdouble}, Ptr{Cdouble}, Cint), env, lp, cnorm, rnorm, len) +end + +function CPXcopyprotected(env, lp, cnt, indices) + ccall((:CPXcopyprotected, libcplex), Cint, (CPXCENVptr, CPXLPptr, Cint, Ptr{Cint}), env, lp, cnt, indices) +end + +function CPXcopystart(env, lp, cstat, rstat, cprim, rprim, cdual, rdual) + ccall((:CPXcopystart, libcplex), Cint, (CPXCENVptr, CPXLPptr, Ptr{Cint}, Ptr{Cint}, Ptr{Cdouble}, Ptr{Cdouble}, Ptr{Cdouble}, Ptr{Cdouble}), env, lp, cstat, rstat, cprim, rprim, cdual, rdual) +end + +function CPXcreateprob(env, status_p, probname_str) + ccall((:CPXcreateprob, libcplex), CPXLPptr, (CPXCENVptr, Ptr{Cint}, Cstring), env, status_p, probname_str) +end + +function CPXcrushform(env, lp, len, ind, val, plen_p, poffset_p, pind, pval) + ccall((:CPXcrushform, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Cint, Ptr{Cint}, Ptr{Cdouble}, Ptr{Cint}, Ptr{Cdouble}, Ptr{Cint}, Ptr{Cdouble}), env, lp, len, ind, val, plen_p, poffset_p, pind, pval) +end + +function CPXcrushpi(env, lp, pi, prepi) + ccall((:CPXcrushpi, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Ptr{Cdouble}, Ptr{Cdouble}), env, lp, pi, prepi) +end + +function CPXcrushx(env, lp, x, prex) + ccall((:CPXcrushx, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Ptr{Cdouble}, Ptr{Cdouble}), env, lp, x, prex) +end + +function CPXdelcols(env, lp, _begin, _end) + ccall((:CPXdelcols, libcplex), Cint, (CPXCENVptr, CPXLPptr, Cint, Cint), env, lp, _begin, _end) +end + +function CPXdeldblannotation(env, lp, idx) + ccall((:CPXdeldblannotation, libcplex), Cint, (CPXCENVptr, CPXLPptr, Cint), env, lp, idx) +end + +function CPXdeldblannotations(env, lp, _begin, _end) + ccall((:CPXdeldblannotations, libcplex), Cint, (CPXCENVptr, CPXLPptr, Cint, Cint), env, lp, _begin, _end) +end + +function CPXdelfpdest(env, channel, fileptr) + ccall((:CPXdelfpdest, libcplex), Cint, (CPXCENVptr, CPXCHANNELptr, CPXFILEptr), env, channel, fileptr) +end + +function CPXdelfuncdest(env, channel, handle, msgfunction) + ccall((:CPXdelfuncdest, libcplex), Cint, (CPXCENVptr, CPXCHANNELptr, Ptr{Cvoid}, Ptr{Cvoid}), env, channel, handle, msgfunction) +end + +function CPXdellongannotation(env, lp, idx) + ccall((:CPXdellongannotation, libcplex), Cint, (CPXCENVptr, CPXLPptr, Cint), env, lp, idx) +end + +function CPXdellongannotations(env, lp, _begin, _end) + ccall((:CPXdellongannotations, libcplex), Cint, (CPXCENVptr, CPXLPptr, Cint, Cint), env, lp, _begin, _end) +end + +function CPXdelnames(env, lp) + ccall((:CPXdelnames, libcplex), Cint, (CPXCENVptr, CPXLPptr), env, lp) +end + +function CPXdelpwl(env, lp, _begin, _end) + ccall((:CPXdelpwl, libcplex), Cint, (CPXCENVptr, CPXLPptr, Cint, Cint), env, lp, _begin, _end) +end + +function CPXdelrows(env, lp, _begin, _end) + ccall((:CPXdelrows, libcplex), Cint, (CPXCENVptr, CPXLPptr, Cint, Cint), env, lp, _begin, _end) +end + +function CPXdelsetcols(env, lp, delstat) + ccall((:CPXdelsetcols, libcplex), Cint, (CPXCENVptr, CPXLPptr, Ptr{Cint}), env, lp, delstat) +end + +function CPXdelsetpwl(env, lp, delstat) + ccall((:CPXdelsetpwl, libcplex), Cint, (CPXCENVptr, CPXLPptr, Ptr{Cint}), env, lp, delstat) +end + +function CPXdelsetrows(env, lp, delstat) + ccall((:CPXdelsetrows, libcplex), Cint, (CPXCENVptr, CPXLPptr, Ptr{Cint}), env, lp, delstat) +end + +function CPXdeserializercreate(deser_p, size, buffer) + ccall((:CPXdeserializercreate, libcplex), Cint, (Ptr{CPXDESERIALIZERptr}, CPXLONG, Ptr{Cvoid}), deser_p, size, buffer) +end + +function CPXdeserializerdestroy(deser) + ccall((:CPXdeserializerdestroy, libcplex), Cvoid, (CPXDESERIALIZERptr,), deser) +end + +function CPXdeserializerleft(deser) + ccall((:CPXdeserializerleft, libcplex), CPXLONG, (CPXCDESERIALIZERptr,), deser) +end + +function CPXdisconnectchannel(env, channel) + ccall((:CPXdisconnectchannel, libcplex), Cint, (CPXCENVptr, CPXCHANNELptr), env, channel) +end + +function CPXdjfrompi(env, lp, pi, dj) + ccall((:CPXdjfrompi, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Ptr{Cdouble}, Ptr{Cdouble}), env, lp, pi, dj) +end + +function CPXdperwrite(env, lp, filename_str, epsilon) + ccall((:CPXdperwrite, libcplex), Cint, (CPXCENVptr, CPXLPptr, Cstring, Cdouble), env, lp, filename_str, epsilon) +end + +function CPXdratio(env, lp, indices, cnt, downratio, upratio, downenter, upenter, downstatus, upstatus) + ccall((:CPXdratio, libcplex), Cint, (CPXCENVptr, CPXLPptr, Ptr{Cint}, Cint, Ptr{Cdouble}, Ptr{Cdouble}, Ptr{Cint}, Ptr{Cint}, Ptr{Cint}, Ptr{Cint}), env, lp, indices, cnt, downratio, upratio, downenter, upenter, downstatus, upstatus) +end + +function CPXdualfarkas(env, lp, y, proof_p) + ccall((:CPXdualfarkas, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Ptr{Cdouble}, Ptr{Cdouble}), env, lp, y, proof_p) +end + +function CPXdualopt(env, lp) + ccall((:CPXdualopt, libcplex), Cint, (CPXCENVptr, CPXLPptr), env, lp) +end + +function CPXdualwrite(env, lp, filename_str, objshift_p) + ccall((:CPXdualwrite, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Cstring, Ptr{Cdouble}), env, lp, filename_str, objshift_p) +end + +function CPXembwrite(env, lp, filename_str) + ccall((:CPXembwrite, libcplex), Cint, (CPXCENVptr, CPXLPptr, Cstring), env, lp, filename_str) +end + +function CPXfclose(stream) + ccall((:CPXfclose, libcplex), Cint, (CPXFILEptr,), stream) +end + +function CPXfeasopt(env, lp, rhs, rng, lb, ub) + ccall((:CPXfeasopt, libcplex), Cint, (CPXCENVptr, CPXLPptr, Ptr{Cdouble}, Ptr{Cdouble}, Ptr{Cdouble}, Ptr{Cdouble}), env, lp, rhs, rng, lb, ub) +end + +function CPXfeasoptext(env, lp, grpcnt, concnt, grppref, grpbeg, grpind, grptype) + ccall((:CPXfeasoptext, libcplex), Cint, (CPXCENVptr, CPXLPptr, Cint, Cint, Ptr{Cdouble}, Ptr{Cint}, Ptr{Cint}, Cstring), env, lp, grpcnt, concnt, grppref, grpbeg, grpind, grptype) +end + +function CPXfinalize() + ccall((:CPXfinalize, libcplex), Cvoid, ()) +end + +function CPXflushchannel(env, channel) + ccall((:CPXflushchannel, libcplex), Cint, (CPXCENVptr, CPXCHANNELptr), env, channel) +end + +function CPXflushstdchannels(env) + ccall((:CPXflushstdchannels, libcplex), Cint, (CPXCENVptr,), env) +end + +function CPXfopen(filename_str, type_str) + ccall((:CPXfopen, libcplex), CPXFILEptr, (Cstring, Cstring), filename_str, type_str) +end + +function CPXfputs(s_str, stream) + ccall((:CPXfputs, libcplex), Cint, (Cstring, CPXFILEptr), s_str, stream) +end + +function CPXfreepresolve(env, lp) + ccall((:CPXfreepresolve, libcplex), Cint, (CPXCENVptr, CPXLPptr), env, lp) +end + +function CPXfreeprob(env, lp_p) + ccall((:CPXfreeprob, libcplex), Cint, (CPXCENVptr, Ptr{CPXLPptr}), env, lp_p) +end + +function CPXftran(env, lp, x) + ccall((:CPXftran, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Ptr{Cdouble}), env, lp, x) +end + +function CPXgetax(env, lp, x, _begin, _end) + ccall((:CPXgetax, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Ptr{Cdouble}, Cint, Cint), env, lp, x, _begin, _end) +end + +function CPXgetbaritcnt(env, lp) + ccall((:CPXgetbaritcnt, libcplex), Cint, (CPXCENVptr, CPXCLPptr), env, lp) +end + +function CPXgetbase(env, lp, cstat, rstat) + ccall((:CPXgetbase, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Ptr{Cint}, Ptr{Cint}), env, lp, cstat, rstat) +end + +function CPXgetbasednorms(env, lp, cstat, rstat, dnorm) + ccall((:CPXgetbasednorms, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Ptr{Cint}, Ptr{Cint}, Ptr{Cdouble}), env, lp, cstat, rstat, dnorm) +end + +function CPXgetbhead(env, lp, head, x) + ccall((:CPXgetbhead, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Ptr{Cint}, Ptr{Cdouble}), env, lp, head, x) +end + +function CPXgetcallbackinfo(env, cbdata, wherefrom, whichinfo, result_p) + ccall((:CPXgetcallbackinfo, libcplex), Cint, (CPXCENVptr, Ptr{Cvoid}, Cint, Cint, Ptr{Cvoid}), env, cbdata, wherefrom, whichinfo, result_p) +end + +function CPXgetchannels(env, cpxresults_p, cpxwarning_p, cpxerror_p, cpxlog_p) + ccall((:CPXgetchannels, libcplex), Cint, (CPXCENVptr, Ptr{CPXCHANNELptr}, Ptr{CPXCHANNELptr}, Ptr{CPXCHANNELptr}, Ptr{CPXCHANNELptr}), env, cpxresults_p, cpxwarning_p, cpxerror_p, cpxlog_p) +end + +function CPXgetchgparam(env, cnt_p, paramnum, pspace, surplus_p) + ccall((:CPXgetchgparam, libcplex), Cint, (CPXCENVptr, Ptr{Cint}, Ptr{Cint}, Cint, Ptr{Cint}), env, cnt_p, paramnum, pspace, surplus_p) +end + +function CPXgetcoef(env, lp, i, j, coef_p) + ccall((:CPXgetcoef, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Cint, Cint, Ptr{Cdouble}), env, lp, i, j, coef_p) +end + +function CPXgetcolindex(env, lp, lname_str, index_p) + ccall((:CPXgetcolindex, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Cstring, Ptr{Cint}), env, lp, lname_str, index_p) +end + +function CPXgetcolinfeas(env, lp, x, infeasout, _begin, _end) + ccall((:CPXgetcolinfeas, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Ptr{Cdouble}, Ptr{Cdouble}, Cint, Cint), env, lp, x, infeasout, _begin, _end) +end + +function CPXgetcolname(env, lp, name, namestore, storespace, surplus_p, _begin, _end) + ccall((:CPXgetcolname, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Ptr{Cstring}, Cstring, Cint, Ptr{Cint}, Cint, Cint), env, lp, name, namestore, storespace, surplus_p, _begin, _end) +end + +function CPXgetcols(env, lp, nzcnt_p, cmatbeg, cmatind, cmatval, cmatspace, surplus_p, _begin, _end) + ccall((:CPXgetcols, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Ptr{Cint}, Ptr{Cint}, Ptr{Cint}, Ptr{Cdouble}, Cint, Ptr{Cint}, Cint, Cint), env, lp, nzcnt_p, cmatbeg, cmatind, cmatval, cmatspace, surplus_p, _begin, _end) +end + +function CPXgetconflict(env, lp, confstat_p, rowind, rowbdstat, confnumrows_p, colind, colbdstat, confnumcols_p) + ccall((:CPXgetconflict, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Ptr{Cint}, Ptr{Cint}, Ptr{Cint}, Ptr{Cint}, Ptr{Cint}, Ptr{Cint}, Ptr{Cint}), env, lp, confstat_p, rowind, rowbdstat, confnumrows_p, colind, colbdstat, confnumcols_p) +end + +function CPXgetconflictext(env, lp, grpstat, beg, _end) + ccall((:CPXgetconflictext, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Ptr{Cint}, Cint, Cint), env, lp, grpstat, beg, _end) +end + +function CPXgetcrossdexchcnt(env, lp) + ccall((:CPXgetcrossdexchcnt, libcplex), Cint, (CPXCENVptr, CPXCLPptr), env, lp) +end + +function CPXgetcrossdpushcnt(env, lp) + ccall((:CPXgetcrossdpushcnt, libcplex), Cint, (CPXCENVptr, CPXCLPptr), env, lp) +end + +function CPXgetcrosspexchcnt(env, lp) + ccall((:CPXgetcrosspexchcnt, libcplex), Cint, (CPXCENVptr, CPXCLPptr), env, lp) +end + +function CPXgetcrossppushcnt(env, lp) + ccall((:CPXgetcrossppushcnt, libcplex), Cint, (CPXCENVptr, CPXCLPptr), env, lp) +end + +function CPXgetdblannotationdefval(env, lp, idx, defval_p) + ccall((:CPXgetdblannotationdefval, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Cint, Ptr{Cdouble}), env, lp, idx, defval_p) +end + +function CPXgetdblannotationindex(env, lp, annotationname_str, index_p) + ccall((:CPXgetdblannotationindex, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Cstring, Ptr{Cint}), env, lp, annotationname_str, index_p) +end + +function CPXgetdblannotationname(env, lp, idx, buf_str, bufspace, surplus_p) + ccall((:CPXgetdblannotationname, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Cint, Cstring, Cint, Ptr{Cint}), env, lp, idx, buf_str, bufspace, surplus_p) +end + +function CPXgetdblannotations(env, lp, idx, objtype, annotation, _begin, _end) + ccall((:CPXgetdblannotations, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Cint, Cint, Ptr{Cdouble}, Cint, Cint), env, lp, idx, objtype, annotation, _begin, _end) +end + +function CPXgetdblparam(env, whichparam, value_p) + ccall((:CPXgetdblparam, libcplex), Cint, (CPXCENVptr, Cint, Ptr{Cdouble}), env, whichparam, value_p) +end + +function CPXgetdblquality(env, lp, quality_p, what) + ccall((:CPXgetdblquality, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Ptr{Cdouble}, Cint), env, lp, quality_p, what) +end + +function CPXgetdettime(env, dettimestamp_p) + ccall((:CPXgetdettime, libcplex), Cint, (CPXCENVptr, Ptr{Cdouble}), env, dettimestamp_p) +end + +function CPXgetdj(env, lp, dj, _begin, _end) + ccall((:CPXgetdj, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Ptr{Cdouble}, Cint, Cint), env, lp, dj, _begin, _end) +end + +function CPXgetdnorms(env, lp, norm, head, len_p) + ccall((:CPXgetdnorms, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Ptr{Cdouble}, Ptr{Cint}, Ptr{Cint}), env, lp, norm, head, len_p) +end + +function CPXgetdsbcnt(env, lp) + ccall((:CPXgetdsbcnt, libcplex), Cint, (CPXCENVptr, CPXCLPptr), env, lp) +end + +function CPXgeterrorstring(env, errcode, buffer_str) + ccall((:CPXgeterrorstring, libcplex), CPXCCHARptr, (CPXCENVptr, Cint, Cstring), env, errcode, buffer_str) +end + +function CPXgetgrad(env, lp, j, head, y) + ccall((:CPXgetgrad, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Cint, Ptr{Cint}, Ptr{Cdouble}), env, lp, j, head, y) +end + +function CPXgetijdiv(env, lp, idiv_p, jdiv_p) + ccall((:CPXgetijdiv, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Ptr{Cint}, Ptr{Cint}), env, lp, idiv_p, jdiv_p) +end + +function CPXgetijrow(env, lp, i, j, row_p) + ccall((:CPXgetijrow, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Cint, Cint, Ptr{Cint}), env, lp, i, j, row_p) +end + +function CPXgetintparam(env, whichparam, value_p) + ccall((:CPXgetintparam, libcplex), Cint, (CPXCENVptr, Cint, Ptr{CPXINT}), env, whichparam, value_p) +end + +function CPXgetintquality(env, lp, quality_p, what) + ccall((:CPXgetintquality, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Ptr{Cint}, Cint), env, lp, quality_p, what) +end + +function CPXgetitcnt(env, lp) + ccall((:CPXgetitcnt, libcplex), Cint, (CPXCENVptr, CPXCLPptr), env, lp) +end + +function CPXgetlb(env, lp, lb, _begin, _end) + ccall((:CPXgetlb, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Ptr{Cdouble}, Cint, Cint), env, lp, lb, _begin, _end) +end + +function CPXgetlogfile(env, logfile_p) + ccall((:CPXgetlogfile, libcplex), Cint, (CPXCENVptr, Ptr{CPXFILEptr}), env, logfile_p) +end + +function CPXgetlogfilename(env, buf_str, bufspace, surplus_p) + ccall((:CPXgetlogfilename, libcplex), Cint, (CPXCENVptr, Cstring, Cint, Ptr{Cint}), env, buf_str, bufspace, surplus_p) +end + +function CPXgetlongannotationdefval(env, lp, idx, defval_p) + ccall((:CPXgetlongannotationdefval, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Cint, Ptr{CPXLONG}), env, lp, idx, defval_p) +end + +function CPXgetlongannotationindex(env, lp, annotationname_str, index_p) + ccall((:CPXgetlongannotationindex, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Cstring, Ptr{Cint}), env, lp, annotationname_str, index_p) +end + +function CPXgetlongannotationname(env, lp, idx, buf_str, bufspace, surplus_p) + ccall((:CPXgetlongannotationname, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Cint, Cstring, Cint, Ptr{Cint}), env, lp, idx, buf_str, bufspace, surplus_p) +end + +function CPXgetlongannotations(env, lp, idx, objtype, annotation, _begin, _end) + ccall((:CPXgetlongannotations, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Cint, Cint, Ptr{CPXLONG}, Cint, Cint), env, lp, idx, objtype, annotation, _begin, _end) +end + +function CPXgetlongparam(env, whichparam, value_p) + ccall((:CPXgetlongparam, libcplex), Cint, (CPXCENVptr, Cint, Ptr{CPXLONG}), env, whichparam, value_p) +end + +function CPXgetlpcallbackfunc(env, callback_p, cbhandle_p) + ccall((:CPXgetlpcallbackfunc, libcplex), Cint, (CPXCENVptr, Ptr{Ptr{Cvoid}}, Ptr{Ptr{Cvoid}}), env, callback_p, cbhandle_p) +end + +function CPXgetmethod(env, lp) + ccall((:CPXgetmethod, libcplex), Cint, (CPXCENVptr, CPXCLPptr), env, lp) +end + +function CPXgetnetcallbackfunc(env, callback_p, cbhandle_p) + ccall((:CPXgetnetcallbackfunc, libcplex), Cint, (CPXCENVptr, Ptr{Ptr{Cvoid}}, Ptr{Ptr{Cvoid}}), env, callback_p, cbhandle_p) +end + +function CPXgetnumcols(env, lp) + ccall((:CPXgetnumcols, libcplex), Cint, (CPXCENVptr, CPXCLPptr), env, lp) +end + +function CPXgetnumcores(env, numcores_p) + ccall((:CPXgetnumcores, libcplex), Cint, (CPXCENVptr, Ptr{Cint}), env, numcores_p) +end + +function CPXgetnumdblannotations(env, lp) + ccall((:CPXgetnumdblannotations, libcplex), Cint, (CPXCENVptr, CPXCLPptr), env, lp) +end + +function CPXgetnumlongannotations(env, lp) + ccall((:CPXgetnumlongannotations, libcplex), Cint, (CPXCENVptr, CPXCLPptr), env, lp) +end + +function CPXgetnumnz(env, lp) + ccall((:CPXgetnumnz, libcplex), Cint, (CPXCENVptr, CPXCLPptr), env, lp) +end + +function CPXgetnumpwl(env, lp) + ccall((:CPXgetnumpwl, libcplex), Cint, (CPXCENVptr, CPXCLPptr), env, lp) +end + +function CPXgetnumrows(env, lp) + ccall((:CPXgetnumrows, libcplex), Cint, (CPXCENVptr, CPXCLPptr), env, lp) +end + +function CPXgetobj(env, lp, obj, _begin, _end) + ccall((:CPXgetobj, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Ptr{Cdouble}, Cint, Cint), env, lp, obj, _begin, _end) +end + +function CPXgetobjname(env, lp, buf_str, bufspace, surplus_p) + ccall((:CPXgetobjname, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Cstring, Cint, Ptr{Cint}), env, lp, buf_str, bufspace, surplus_p) +end + +function CPXgetobjoffset(env, lp, objoffset_p) + ccall((:CPXgetobjoffset, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Ptr{Cdouble}), env, lp, objoffset_p) +end + +function CPXgetobjsen(env, lp) + ccall((:CPXgetobjsen, libcplex), Cint, (CPXCENVptr, CPXCLPptr), env, lp) +end + +function CPXgetobjval(env, lp, objval_p) + ccall((:CPXgetobjval, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Ptr{Cdouble}), env, lp, objval_p) +end + +function CPXgetparamname(env, whichparam, name_str) + ccall((:CPXgetparamname, libcplex), Cint, (CPXCENVptr, Cint, Cstring), env, whichparam, name_str) +end + +function CPXgetparamnum(env, name_str, whichparam_p) + ccall((:CPXgetparamnum, libcplex), Cint, (CPXCENVptr, Cstring, Ptr{Cint}), env, name_str, whichparam_p) +end + +function CPXgetparamtype(env, whichparam, paramtype) + ccall((:CPXgetparamtype, libcplex), Cint, (CPXCENVptr, Cint, Ptr{Cint}), env, whichparam, paramtype) +end + +function CPXgetphase1cnt(env, lp) + ccall((:CPXgetphase1cnt, libcplex), Cint, (CPXCENVptr, CPXCLPptr), env, lp) +end + +function CPXgetpi(env, lp, pi, _begin, _end) + ccall((:CPXgetpi, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Ptr{Cdouble}, Cint, Cint), env, lp, pi, _begin, _end) +end + +function CPXgetpnorms(env, lp, cnorm, rnorm, len_p) + ccall((:CPXgetpnorms, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Ptr{Cdouble}, Ptr{Cdouble}, Ptr{Cint}), env, lp, cnorm, rnorm, len_p) +end + +function CPXgetprestat(env, lp, prestat_p, pcstat, prstat, ocstat, orstat) + ccall((:CPXgetprestat, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Ptr{Cint}, Ptr{Cint}, Ptr{Cint}, Ptr{Cint}, Ptr{Cint}), env, lp, prestat_p, pcstat, prstat, ocstat, orstat) +end + +function CPXgetprobname(env, lp, buf_str, bufspace, surplus_p) + ccall((:CPXgetprobname, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Cstring, Cint, Ptr{Cint}), env, lp, buf_str, bufspace, surplus_p) +end + +function CPXgetprobtype(env, lp) + ccall((:CPXgetprobtype, libcplex), Cint, (CPXCENVptr, CPXCLPptr), env, lp) +end + +function CPXgetprotected(env, lp, cnt_p, indices, pspace, surplus_p) + ccall((:CPXgetprotected, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Ptr{Cint}, Ptr{Cint}, Cint, Ptr{Cint}), env, lp, cnt_p, indices, pspace, surplus_p) +end + +function CPXgetpsbcnt(env, lp) + ccall((:CPXgetpsbcnt, libcplex), Cint, (CPXCENVptr, CPXCLPptr), env, lp) +end + +function CPXgetpwl(env, lp, pwlindex, vary_p, varx_p, preslope_p, postslope_p, nbreaks_p, breakx, breaky, breakspace, surplus_p) + ccall((:CPXgetpwl, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Cint, Ptr{Cint}, Ptr{Cint}, Ptr{Cdouble}, Ptr{Cdouble}, Ptr{Cint}, Ptr{Cdouble}, Ptr{Cdouble}, Cint, Ptr{Cint}), env, lp, pwlindex, vary_p, varx_p, preslope_p, postslope_p, nbreaks_p, breakx, breaky, breakspace, surplus_p) +end + +function CPXgetpwlindex(env, lp, lname_str, index_p) + ccall((:CPXgetpwlindex, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Cstring, Ptr{Cint}), env, lp, lname_str, index_p) +end + +function CPXgetpwlname(env, lp, buf_str, bufspace, surplus_p, which) + ccall((:CPXgetpwlname, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Cstring, Cint, Ptr{Cint}, Cint), env, lp, buf_str, bufspace, surplus_p, which) +end + +function CPXgetray(env, lp, z) + ccall((:CPXgetray, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Ptr{Cdouble}), env, lp, z) +end + +function CPXgetredlp(env, lp, redlp_p) + ccall((:CPXgetredlp, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Ptr{CPXCLPptr}), env, lp, redlp_p) +end + +function CPXgetrhs(env, lp, rhs, _begin, _end) + ccall((:CPXgetrhs, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Ptr{Cdouble}, Cint, Cint), env, lp, rhs, _begin, _end) +end + +function CPXgetrngval(env, lp, rngval, _begin, _end) + ccall((:CPXgetrngval, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Ptr{Cdouble}, Cint, Cint), env, lp, rngval, _begin, _end) +end + +function CPXgetrowindex(env, lp, lname_str, index_p) + ccall((:CPXgetrowindex, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Cstring, Ptr{Cint}), env, lp, lname_str, index_p) +end + +function CPXgetrowinfeas(env, lp, x, infeasout, _begin, _end) + ccall((:CPXgetrowinfeas, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Ptr{Cdouble}, Ptr{Cdouble}, Cint, Cint), env, lp, x, infeasout, _begin, _end) +end + +function CPXgetrowname(env, lp, name, namestore, storespace, surplus_p, _begin, _end) + ccall((:CPXgetrowname, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Ptr{Cstring}, Cstring, Cint, Ptr{Cint}, Cint, Cint), env, lp, name, namestore, storespace, surplus_p, _begin, _end) +end + +function CPXgetrows(env, lp, nzcnt_p, rmatbeg, rmatind, rmatval, rmatspace, surplus_p, _begin, _end) + ccall((:CPXgetrows, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Ptr{Cint}, Ptr{Cint}, Ptr{Cint}, Ptr{Cdouble}, Cint, Ptr{Cint}, Cint, Cint), env, lp, nzcnt_p, rmatbeg, rmatind, rmatval, rmatspace, surplus_p, _begin, _end) +end + +function CPXgetsense(env, lp, sense, _begin, _end) + ccall((:CPXgetsense, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Cstring, Cint, Cint), env, lp, sense, _begin, _end) +end + +function CPXgetsiftitcnt(env, lp) + ccall((:CPXgetsiftitcnt, libcplex), Cint, (CPXCENVptr, CPXCLPptr), env, lp) +end + +function CPXgetsiftphase1cnt(env, lp) + ccall((:CPXgetsiftphase1cnt, libcplex), Cint, (CPXCENVptr, CPXCLPptr), env, lp) +end + +function CPXgetslack(env, lp, slack, _begin, _end) + ccall((:CPXgetslack, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Ptr{Cdouble}, Cint, Cint), env, lp, slack, _begin, _end) +end + +function CPXgetsolnpooldblquality(env, lp, soln, quality_p, what) + ccall((:CPXgetsolnpooldblquality, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Cint, Ptr{Cdouble}, Cint), env, lp, soln, quality_p, what) +end + +function CPXgetsolnpoolintquality(env, lp, soln, quality_p, what) + ccall((:CPXgetsolnpoolintquality, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Cint, Ptr{Cint}, Cint), env, lp, soln, quality_p, what) +end + +function CPXgetstat(env, lp) + ccall((:CPXgetstat, libcplex), Cint, (CPXCENVptr, CPXCLPptr), env, lp) +end + +function CPXgetstatstring(env, statind, buffer_str) + ccall((:CPXgetstatstring, libcplex), CPXCHARptr, (CPXCENVptr, Cint, Cstring), env, statind, buffer_str) +end + +function CPXgetstrparam(env, whichparam, value_str) + ccall((:CPXgetstrparam, libcplex), Cint, (CPXCENVptr, Cint, Cstring), env, whichparam, value_str) +end + +function CPXgettime(env, timestamp_p) + ccall((:CPXgettime, libcplex), Cint, (CPXCENVptr, Ptr{Cdouble}), env, timestamp_p) +end + +function CPXgettuningcallbackfunc(env, callback_p, cbhandle_p) + ccall((:CPXgettuningcallbackfunc, libcplex), Cint, (CPXCENVptr, Ptr{Ptr{Cvoid}}, Ptr{Ptr{Cvoid}}), env, callback_p, cbhandle_p) +end + +function CPXgetub(env, lp, ub, _begin, _end) + ccall((:CPXgetub, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Ptr{Cdouble}, Cint, Cint), env, lp, ub, _begin, _end) +end + +function CPXgetweight(env, lp, rcnt, rmatbeg, rmatind, rmatval, weight, dpriind) + ccall((:CPXgetweight, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Cint, Ptr{Cint}, Ptr{Cint}, Ptr{Cdouble}, Ptr{Cdouble}, Cint), env, lp, rcnt, rmatbeg, rmatind, rmatval, weight, dpriind) +end + +function CPXgetx(env, lp, x, _begin, _end) + ccall((:CPXgetx, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Ptr{Cdouble}, Cint, Cint), env, lp, x, _begin, _end) +end + +function CPXhybnetopt(env, lp, method) + ccall((:CPXhybnetopt, libcplex), Cint, (CPXCENVptr, CPXLPptr, Cint), env, lp, method) +end + +function CPXinfodblparam(env, whichparam, defvalue_p, minvalue_p, maxvalue_p) + ccall((:CPXinfodblparam, libcplex), Cint, (CPXCENVptr, Cint, Ptr{Cdouble}, Ptr{Cdouble}, Ptr{Cdouble}), env, whichparam, defvalue_p, minvalue_p, maxvalue_p) +end + +function CPXinfointparam(env, whichparam, defvalue_p, minvalue_p, maxvalue_p) + ccall((:CPXinfointparam, libcplex), Cint, (CPXCENVptr, Cint, Ptr{CPXINT}, Ptr{CPXINT}, Ptr{CPXINT}), env, whichparam, defvalue_p, minvalue_p, maxvalue_p) +end + +function CPXinfolongparam(env, whichparam, defvalue_p, minvalue_p, maxvalue_p) + ccall((:CPXinfolongparam, libcplex), Cint, (CPXCENVptr, Cint, Ptr{CPXLONG}, Ptr{CPXLONG}, Ptr{CPXLONG}), env, whichparam, defvalue_p, minvalue_p, maxvalue_p) +end + +function CPXinfostrparam(env, whichparam, defvalue_str) + ccall((:CPXinfostrparam, libcplex), Cint, (CPXCENVptr, Cint, Cstring), env, whichparam, defvalue_str) +end + +function CPXinitialize() + ccall((:CPXinitialize, libcplex), Cvoid, ()) +end + +function CPXkilldnorms(lp) + ccall((:CPXkilldnorms, libcplex), Cint, (CPXLPptr,), lp) +end + +function CPXkillpnorms(lp) + ccall((:CPXkillpnorms, libcplex), Cint, (CPXLPptr,), lp) +end + +function CPXlpopt(env, lp) + ccall((:CPXlpopt, libcplex), Cint, (CPXCENVptr, CPXLPptr), env, lp) +end + +function CPXlprewrite(env, lp, filename_str) + ccall((:CPXlprewrite, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Cstring), env, lp, filename_str) +end + +function CPXlpwrite(env, lp, filename_str) + ccall((:CPXlpwrite, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Cstring), env, lp, filename_str) +end + +function CPXmbasewrite(env, lp, filename_str) + ccall((:CPXmbasewrite, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Cstring), env, lp, filename_str) +end + +function CPXmdleave(env, lp, indices, cnt, downratio, upratio) + ccall((:CPXmdleave, libcplex), Cint, (CPXCENVptr, CPXLPptr, Ptr{Cint}, Cint, Ptr{Cdouble}, Ptr{Cdouble}), env, lp, indices, cnt, downratio, upratio) +end + +function CPXmpsrewrite(env, lp, filename_str) + ccall((:CPXmpsrewrite, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Cstring), env, lp, filename_str) +end + +function CPXmpswrite(env, lp, filename_str) + ccall((:CPXmpswrite, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Cstring), env, lp, filename_str) +end + +function CPXmsgstr(channel, msg_str) + ccall((:CPXmsgstr, libcplex), Cint, (CPXCHANNELptr, Cstring), channel, msg_str) +end + +function CPXNETextract(env, net, lp, colmap, rowmap) + ccall((:CPXNETextract, libcplex), Cint, (CPXCENVptr, CPXNETptr, CPXCLPptr, Ptr{Cint}, Ptr{Cint}), env, net, lp, colmap, rowmap) +end + +function CPXnewcols(env, lp, ccnt, obj, lb, ub, xctype, colname) + ccall((:CPXnewcols, libcplex), Cint, (CPXCENVptr, CPXLPptr, Cint, Ptr{Cdouble}, Ptr{Cdouble}, Ptr{Cdouble}, Cstring, Ptr{Cstring}), env, lp, ccnt, obj, lb, ub, xctype, colname) +end + +function CPXnewdblannotation(env, lp, annotationname_str, defval) + ccall((:CPXnewdblannotation, libcplex), Cint, (CPXCENVptr, CPXLPptr, Cstring, Cdouble), env, lp, annotationname_str, defval) +end + +function CPXnewlongannotation(env, lp, annotationname_str, defval) + ccall((:CPXnewlongannotation, libcplex), Cint, (CPXCENVptr, CPXLPptr, Cstring, CPXLONG), env, lp, annotationname_str, defval) +end + +function CPXnewrows(env, lp, rcnt, rhs, sense, rngval, rowname) + ccall((:CPXnewrows, libcplex), Cint, (CPXCENVptr, CPXLPptr, Cint, Ptr{Cdouble}, Cstring, Ptr{Cdouble}, Ptr{Cstring}), env, lp, rcnt, rhs, sense, rngval, rowname) +end + +function CPXobjsa(env, lp, _begin, _end, lower, upper) + ccall((:CPXobjsa, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Cint, Cint, Ptr{Cdouble}, Ptr{Cdouble}), env, lp, _begin, _end, lower, upper) +end + +function CPXopenCPLEX(status_p) + ccall((:CPXopenCPLEX, libcplex), CPXENVptr, (Ptr{Cint},), status_p) +end + +function CPXopenCPLEXruntime(status_p, serialnum, licenvstring_str) + ccall((:CPXopenCPLEXruntime, libcplex), CPXENVptr, (Ptr{Cint}, Cint, Cstring), status_p, serialnum, licenvstring_str) +end + +function CPXpivot(env, lp, jenter, jleave, leavestat) + ccall((:CPXpivot, libcplex), Cint, (CPXCENVptr, CPXLPptr, Cint, Cint, Cint), env, lp, jenter, jleave, leavestat) +end + +function CPXpivotin(env, lp, rlist, rlen) + ccall((:CPXpivotin, libcplex), Cint, (CPXCENVptr, CPXLPptr, Ptr{Cint}, Cint), env, lp, rlist, rlen) +end + +function CPXpivotout(env, lp, clist, clen) + ccall((:CPXpivotout, libcplex), Cint, (CPXCENVptr, CPXLPptr, Ptr{Cint}, Cint), env, lp, clist, clen) +end + +function CPXpperwrite(env, lp, filename_str, epsilon) + ccall((:CPXpperwrite, libcplex), Cint, (CPXCENVptr, CPXLPptr, Cstring, Cdouble), env, lp, filename_str, epsilon) +end + +function CPXpratio(env, lp, indices, cnt, downratio, upratio, downleave, upleave, downleavestatus, upleavestatus, downstatus, upstatus) + ccall((:CPXpratio, libcplex), Cint, (CPXCENVptr, CPXLPptr, Ptr{Cint}, Cint, Ptr{Cdouble}, Ptr{Cdouble}, Ptr{Cint}, Ptr{Cint}, Ptr{Cint}, Ptr{Cint}, Ptr{Cint}, Ptr{Cint}), env, lp, indices, cnt, downratio, upratio, downleave, upleave, downleavestatus, upleavestatus, downstatus, upstatus) +end + +function CPXpreaddrows(env, lp, rcnt, nzcnt, rhs, sense, rmatbeg, rmatind, rmatval, rowname) + ccall((:CPXpreaddrows, libcplex), Cint, (CPXCENVptr, CPXLPptr, Cint, Cint, Ptr{Cdouble}, Cstring, Ptr{Cint}, Ptr{Cint}, Ptr{Cdouble}, Ptr{Cstring}), env, lp, rcnt, nzcnt, rhs, sense, rmatbeg, rmatind, rmatval, rowname) +end + +function CPXprechgobj(env, lp, cnt, indices, values) + ccall((:CPXprechgobj, libcplex), Cint, (CPXCENVptr, CPXLPptr, Cint, Ptr{Cint}, Ptr{Cdouble}), env, lp, cnt, indices, values) +end + +function CPXpreslvwrite(env, lp, filename_str, objoff_p) + ccall((:CPXpreslvwrite, libcplex), Cint, (CPXCENVptr, CPXLPptr, Cstring, Ptr{Cdouble}), env, lp, filename_str, objoff_p) +end + +function CPXpresolve(env, lp, method) + ccall((:CPXpresolve, libcplex), Cint, (CPXCENVptr, CPXLPptr, Cint), env, lp, method) +end + +function CPXprimopt(env, lp) + ccall((:CPXprimopt, libcplex), Cint, (CPXCENVptr, CPXLPptr), env, lp) +end + +function CPXqpdjfrompi(env, lp, pi, x, dj) + ccall((:CPXqpdjfrompi, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Ptr{Cdouble}, Ptr{Cdouble}, Ptr{Cdouble}), env, lp, pi, x, dj) +end + +function CPXqpuncrushpi(env, lp, pi, prepi, x) + ccall((:CPXqpuncrushpi, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Ptr{Cdouble}, Ptr{Cdouble}, Ptr{Cdouble}), env, lp, pi, prepi, x) +end + +function CPXreadcopyannotations(env, lp, filename) + ccall((:CPXreadcopyannotations, libcplex), Cint, (CPXCENVptr, CPXLPptr, Cstring), env, lp, filename) +end + +function CPXreadcopybase(env, lp, filename_str) + ccall((:CPXreadcopybase, libcplex), Cint, (CPXCENVptr, CPXLPptr, Cstring), env, lp, filename_str) +end + +function CPXreadcopyparam(env, filename_str) + ccall((:CPXreadcopyparam, libcplex), Cint, (CPXENVptr, Cstring), env, filename_str) +end + +function CPXreadcopyprob(env, lp, filename_str, filetype) + ccall((:CPXreadcopyprob, libcplex), Cint, (CPXCENVptr, CPXLPptr, Cstring, Cstring), env, lp, filename_str, filetype) +end + +function CPXreadcopysol(env, lp, filename_str) + ccall((:CPXreadcopysol, libcplex), Cint, (CPXCENVptr, CPXLPptr, Cstring), env, lp, filename_str) +end + +function CPXrefineconflict(env, lp, confnumrows_p, confnumcols_p) + ccall((:CPXrefineconflict, libcplex), Cint, (CPXCENVptr, CPXLPptr, Ptr{Cint}, Ptr{Cint}), env, lp, confnumrows_p, confnumcols_p) +end + +function CPXrefineconflictext(env, lp, grpcnt, concnt, grppref, grpbeg, grpind, grptype) + ccall((:CPXrefineconflictext, libcplex), Cint, (CPXCENVptr, CPXLPptr, Cint, Cint, Ptr{Cdouble}, Ptr{Cint}, Ptr{Cint}, Cstring), env, lp, grpcnt, concnt, grppref, grpbeg, grpind, grptype) +end + +function CPXrhssa(env, lp, _begin, _end, lower, upper) + ccall((:CPXrhssa, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Cint, Cint, Ptr{Cdouble}, Ptr{Cdouble}), env, lp, _begin, _end, lower, upper) +end + +function CPXrobustopt(env, lp, lblp, ublp, objchg, maxchg) + ccall((:CPXrobustopt, libcplex), Cint, (CPXCENVptr, CPXLPptr, CPXLPptr, CPXLPptr, Cdouble, Ptr{Cdouble}), env, lp, lblp, ublp, objchg, maxchg) +end + +function CPXsavwrite(env, lp, filename_str) + ccall((:CPXsavwrite, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Cstring), env, lp, filename_str) +end + +function CPXserializercreate(ser_p) + ccall((:CPXserializercreate, libcplex), Cint, (Ptr{CPXSERIALIZERptr},), ser_p) +end + +function CPXserializerdestroy(ser) + ccall((:CPXserializerdestroy, libcplex), Cvoid, (CPXSERIALIZERptr,), ser) +end + +function CPXserializerlength(ser) + ccall((:CPXserializerlength, libcplex), CPXLONG, (CPXCSERIALIZERptr,), ser) +end + +function CPXserializerpayload(ser) + ccall((:CPXserializerpayload, libcplex), Ptr{Cvoid}, (CPXCSERIALIZERptr,), ser) +end + +function CPXsetdblannotations(env, lp, idx, objtype, cnt, indices, values) + ccall((:CPXsetdblannotations, libcplex), Cint, (CPXCENVptr, CPXLPptr, Cint, Cint, Cint, Ptr{Cint}, Ptr{Cdouble}), env, lp, idx, objtype, cnt, indices, values) +end + +function CPXsetdblparam(env, whichparam, newvalue) + ccall((:CPXsetdblparam, libcplex), Cint, (CPXENVptr, Cint, Cdouble), env, whichparam, newvalue) +end + +function CPXsetdefaults(env) + ccall((:CPXsetdefaults, libcplex), Cint, (CPXENVptr,), env) +end + +function CPXsetintparam(env, whichparam, newvalue) + ccall((:CPXsetintparam, libcplex), Cint, (CPXENVptr, Cint, CPXINT), env, whichparam, newvalue) +end + +function CPXsetlogfile(env, lfile) + ccall((:CPXsetlogfile, libcplex), Cint, (CPXENVptr, CPXFILEptr), env, lfile) +end + +function CPXsetlogfilename(env, filename, mode) + ccall((:CPXsetlogfilename, libcplex), Cint, (CPXCENVptr, Cstring, Cstring), env, filename, mode) +end + +function CPXsetlongannotations(env, lp, idx, objtype, cnt, indices, values) + ccall((:CPXsetlongannotations, libcplex), Cint, (CPXCENVptr, CPXLPptr, Cint, Cint, Cint, Ptr{Cint}, Ptr{CPXLONG}), env, lp, idx, objtype, cnt, indices, values) +end + +function CPXsetlongparam(env, whichparam, newvalue) + ccall((:CPXsetlongparam, libcplex), Cint, (CPXENVptr, Cint, CPXLONG), env, whichparam, newvalue) +end + +function CPXsetlpcallbackfunc(env, callback, cbhandle) + ccall((:CPXsetlpcallbackfunc, libcplex), Cint, (CPXENVptr, Ptr{Cvoid}, Ptr{Cvoid}), env, callback, cbhandle) +end + +function CPXsetnetcallbackfunc(env, callback, cbhandle) + ccall((:CPXsetnetcallbackfunc, libcplex), Cint, (CPXENVptr, Ptr{Cvoid}, Ptr{Cvoid}), env, callback, cbhandle) +end + +function CPXsetphase2(env, lp) + ccall((:CPXsetphase2, libcplex), Cint, (CPXCENVptr, CPXLPptr), env, lp) +end + +function CPXsetprofcallbackfunc(env, callback, cbhandle) + ccall((:CPXsetprofcallbackfunc, libcplex), Cint, (CPXENVptr, Ptr{Cvoid}, Ptr{Cvoid}), env, callback, cbhandle) +end + +function CPXsetstrparam(env, whichparam, newvalue_str) + ccall((:CPXsetstrparam, libcplex), Cint, (CPXENVptr, Cint, Cstring), env, whichparam, newvalue_str) +end + +function CPXsetterminate(env, terminate_p) + ccall((:CPXsetterminate, libcplex), Cint, (CPXENVptr, Ptr{Cint}), env, terminate_p) +end + +function CPXsettuningcallbackfunc(env, callback, cbhandle) + ccall((:CPXsettuningcallbackfunc, libcplex), Cint, (CPXENVptr, Ptr{Cvoid}, Ptr{Cvoid}), env, callback, cbhandle) +end + +function CPXsiftopt(env, lp) + ccall((:CPXsiftopt, libcplex), Cint, (CPXCENVptr, CPXLPptr), env, lp) +end + +function CPXslackfromx(env, lp, x, slack) + ccall((:CPXslackfromx, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Ptr{Cdouble}, Ptr{Cdouble}), env, lp, x, slack) +end + +function CPXsolninfo(env, lp, solnmethod_p, solntype_p, pfeasind_p, dfeasind_p) + ccall((:CPXsolninfo, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Ptr{Cint}, Ptr{Cint}, Ptr{Cint}, Ptr{Cint}), env, lp, solnmethod_p, solntype_p, pfeasind_p, dfeasind_p) +end + +function CPXsolution(env, lp, lpstat_p, objval_p, x, pi, slack, dj) + ccall((:CPXsolution, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Ptr{Cint}, Ptr{Cdouble}, Ptr{Cdouble}, Ptr{Cdouble}, Ptr{Cdouble}, Ptr{Cdouble}), env, lp, lpstat_p, objval_p, x, pi, slack, dj) +end + +function CPXsolwrite(env, lp, filename_str) + ccall((:CPXsolwrite, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Cstring), env, lp, filename_str) +end + +function CPXsolwritesolnpool(env, lp, soln, filename_str) + ccall((:CPXsolwritesolnpool, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Cint, Cstring), env, lp, soln, filename_str) +end + +function CPXsolwritesolnpoolall(env, lp, filename_str) + ccall((:CPXsolwritesolnpoolall, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Cstring), env, lp, filename_str) +end + +function CPXstrongbranch(env, lp, indices, cnt, downobj, upobj, itlim) + ccall((:CPXstrongbranch, libcplex), Cint, (CPXCENVptr, CPXLPptr, Ptr{Cint}, Cint, Ptr{Cdouble}, Ptr{Cdouble}, Cint), env, lp, indices, cnt, downobj, upobj, itlim) +end + +function CPXtightenbds(env, lp, cnt, indices, lu, bd) + ccall((:CPXtightenbds, libcplex), Cint, (CPXCENVptr, CPXLPptr, Cint, Ptr{Cint}, Cstring, Ptr{Cdouble}), env, lp, cnt, indices, lu, bd) +end + +function CPXtuneparam(env, lp, intcnt, intnum, intval, dblcnt, dblnum, dblval, strcnt, strnum, strval, tunestat_p) + ccall((:CPXtuneparam, libcplex), Cint, (CPXENVptr, CPXLPptr, Cint, Ptr{Cint}, Ptr{Cint}, Cint, Ptr{Cint}, Ptr{Cdouble}, Cint, Ptr{Cint}, Ptr{Cstring}, Ptr{Cint}), env, lp, intcnt, intnum, intval, dblcnt, dblnum, dblval, strcnt, strnum, strval, tunestat_p) +end + +function CPXtuneparamprobset(env, filecnt, filename, filetype, intcnt, intnum, intval, dblcnt, dblnum, dblval, strcnt, strnum, strval, tunestat_p) + ccall((:CPXtuneparamprobset, libcplex), Cint, (CPXENVptr, Cint, Ptr{Cstring}, Ptr{Cstring}, Cint, Ptr{Cint}, Ptr{Cint}, Cint, Ptr{Cint}, Ptr{Cdouble}, Cint, Ptr{Cint}, Ptr{Cstring}, Ptr{Cint}), env, filecnt, filename, filetype, intcnt, intnum, intval, dblcnt, dblnum, dblval, strcnt, strnum, strval, tunestat_p) +end + +function CPXuncrushform(env, lp, plen, pind, pval, len_p, offset_p, ind, val) + ccall((:CPXuncrushform, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Cint, Ptr{Cint}, Ptr{Cdouble}, Ptr{Cint}, Ptr{Cdouble}, Ptr{Cint}, Ptr{Cdouble}), env, lp, plen, pind, pval, len_p, offset_p, ind, val) +end + +function CPXuncrushpi(env, lp, pi, prepi) + ccall((:CPXuncrushpi, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Ptr{Cdouble}, Ptr{Cdouble}), env, lp, pi, prepi) +end + +function CPXuncrushx(env, lp, x, prex) + ccall((:CPXuncrushx, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Ptr{Cdouble}, Ptr{Cdouble}), env, lp, x, prex) +end + +function CPXunscaleprob(env, lp) + ccall((:CPXunscaleprob, libcplex), Cint, (CPXCENVptr, CPXLPptr), env, lp) +end + +function CPXversion(env) + ccall((:CPXversion, libcplex), CPXCCHARptr, (CPXCENVptr,), env) +end + +function CPXversionnumber(env, version_p) + ccall((:CPXversionnumber, libcplex), Cint, (CPXCENVptr, Ptr{Cint}), env, version_p) +end + +function CPXwriteannotations(env, lp, filename) + ccall((:CPXwriteannotations, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Cstring), env, lp, filename) +end + +function CPXwritebendersannotation(env, lp, filename) + ccall((:CPXwritebendersannotation, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Cstring), env, lp, filename) +end + +function CPXwriteparam(env, filename_str) + ccall((:CPXwriteparam, libcplex), Cint, (CPXCENVptr, Cstring), env, filename_str) +end + +function CPXwriteprob(env, lp, filename_str, filetype) + ccall((:CPXwriteprob, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Cstring, Cstring), env, lp, filename_str, filetype) +end + +function CPXbaropt(env, lp) + ccall((:CPXbaropt, libcplex), Cint, (CPXCENVptr, CPXLPptr), env, lp) +end + +function CPXhybbaropt(env, lp, method) + ccall((:CPXhybbaropt, libcplex), Cint, (CPXCENVptr, CPXLPptr, Cint), env, lp, method) +end + +function CPXaddindconstraints(env, lp, indcnt, type, indvar, complemented, nzcnt, rhs, sense, linbeg, linind, linval, indname) + ccall((:CPXaddindconstraints, libcplex), Cint, (CPXCENVptr, CPXLPptr, Cint, Ptr{Cint}, Ptr{Cint}, Ptr{Cint}, Cint, Ptr{Cdouble}, Cstring, Ptr{Cint}, Ptr{Cint}, Ptr{Cdouble}, Ptr{Cstring}), env, lp, indcnt, type, indvar, complemented, nzcnt, rhs, sense, linbeg, linind, linval, indname) +end + +function CPXaddlazyconstraints(env, lp, rcnt, nzcnt, rhs, sense, rmatbeg, rmatind, rmatval, rowname) + ccall((:CPXaddlazyconstraints, libcplex), Cint, (CPXCENVptr, CPXLPptr, Cint, Cint, Ptr{Cdouble}, Cstring, Ptr{Cint}, Ptr{Cint}, Ptr{Cdouble}, Ptr{Cstring}), env, lp, rcnt, nzcnt, rhs, sense, rmatbeg, rmatind, rmatval, rowname) +end + +function CPXaddmipstarts(env, lp, mcnt, nzcnt, beg, varindices, values, effortlevel, mipstartname) + ccall((:CPXaddmipstarts, libcplex), Cint, (CPXCENVptr, CPXLPptr, Cint, Cint, Ptr{Cint}, Ptr{Cint}, Ptr{Cdouble}, Ptr{Cint}, Ptr{Cstring}), env, lp, mcnt, nzcnt, beg, varindices, values, effortlevel, mipstartname) +end + +function CPXaddsolnpooldivfilter(env, lp, lower_bound, upper_bound, nzcnt, ind, weight, refval, lname_str) + ccall((:CPXaddsolnpooldivfilter, libcplex), Cint, (CPXCENVptr, CPXLPptr, Cdouble, Cdouble, Cint, Ptr{Cint}, Ptr{Cdouble}, Ptr{Cdouble}, Cstring), env, lp, lower_bound, upper_bound, nzcnt, ind, weight, refval, lname_str) +end + +function CPXaddsolnpoolrngfilter(env, lp, lb, ub, nzcnt, ind, val, lname_str) + ccall((:CPXaddsolnpoolrngfilter, libcplex), Cint, (CPXCENVptr, CPXLPptr, Cdouble, Cdouble, Cint, Ptr{Cint}, Ptr{Cdouble}, Cstring), env, lp, lb, ub, nzcnt, ind, val, lname_str) +end + +function CPXaddsos(env, lp, numsos, numsosnz, sostype, sosbeg, sosind, soswt, sosname) + ccall((:CPXaddsos, libcplex), Cint, (CPXCENVptr, CPXLPptr, Cint, Cint, Cstring, Ptr{Cint}, Ptr{Cint}, Ptr{Cdouble}, Ptr{Cstring}), env, lp, numsos, numsosnz, sostype, sosbeg, sosind, soswt, sosname) +end + +function CPXaddusercuts(env, lp, rcnt, nzcnt, rhs, sense, rmatbeg, rmatind, rmatval, rowname) + ccall((:CPXaddusercuts, libcplex), Cint, (CPXCENVptr, CPXLPptr, Cint, Cint, Ptr{Cdouble}, Cstring, Ptr{Cint}, Ptr{Cint}, Ptr{Cdouble}, Ptr{Cstring}), env, lp, rcnt, nzcnt, rhs, sense, rmatbeg, rmatind, rmatval, rowname) +end + +function CPXbendersopt(env, lp) + ccall((:CPXbendersopt, libcplex), Cint, (CPXCENVptr, CPXLPptr), env, lp) +end + +function CPXbranchcallbackbranchasCPLEX(env, cbdata, wherefrom, num, userhandle, seqnum_p) + ccall((:CPXbranchcallbackbranchasCPLEX, libcplex), Cint, (CPXCENVptr, Ptr{Cvoid}, Cint, Cint, Ptr{Cvoid}, Ptr{Cint}), env, cbdata, wherefrom, num, userhandle, seqnum_p) +end + +function CPXbranchcallbackbranchbds(env, cbdata, wherefrom, cnt, indices, lu, bd, nodeest, userhandle, seqnum_p) + ccall((:CPXbranchcallbackbranchbds, libcplex), Cint, (CPXCENVptr, Ptr{Cvoid}, Cint, Cint, Ptr{Cint}, Cstring, Ptr{Cdouble}, Cdouble, Ptr{Cvoid}, Ptr{Cint}), env, cbdata, wherefrom, cnt, indices, lu, bd, nodeest, userhandle, seqnum_p) +end + +function CPXbranchcallbackbranchconstraints(env, cbdata, wherefrom, rcnt, nzcnt, rhs, sense, rmatbeg, rmatind, rmatval, nodeest, userhandle, seqnum_p) + ccall((:CPXbranchcallbackbranchconstraints, libcplex), Cint, (CPXCENVptr, Ptr{Cvoid}, Cint, Cint, Cint, Ptr{Cdouble}, Cstring, Ptr{Cint}, Ptr{Cint}, Ptr{Cdouble}, Cdouble, Ptr{Cvoid}, Ptr{Cint}), env, cbdata, wherefrom, rcnt, nzcnt, rhs, sense, rmatbeg, rmatind, rmatval, nodeest, userhandle, seqnum_p) +end + +function CPXbranchcallbackbranchgeneral(env, cbdata, wherefrom, varcnt, varind, varlu, varbd, rcnt, nzcnt, rhs, sense, rmatbeg, rmatind, rmatval, nodeest, userhandle, seqnum_p) + ccall((:CPXbranchcallbackbranchgeneral, libcplex), Cint, (CPXCENVptr, Ptr{Cvoid}, Cint, Cint, Ptr{Cint}, Cstring, Ptr{Cdouble}, Cint, Cint, Ptr{Cdouble}, Cstring, Ptr{Cint}, Ptr{Cint}, Ptr{Cdouble}, Cdouble, Ptr{Cvoid}, Ptr{Cint}), env, cbdata, wherefrom, varcnt, varind, varlu, varbd, rcnt, nzcnt, rhs, sense, rmatbeg, rmatind, rmatval, nodeest, userhandle, seqnum_p) +end + +function CPXcallbackgetgloballb(context, lb, _begin, _end) + ccall((:CPXcallbackgetgloballb, libcplex), Cint, (CPXCALLBACKCONTEXTptr, Ptr{Cdouble}, Cint, Cint), context, lb, _begin, _end) +end + +function CPXcallbackgetglobalub(context, ub, _begin, _end) + ccall((:CPXcallbackgetglobalub, libcplex), Cint, (CPXCALLBACKCONTEXTptr, Ptr{Cdouble}, Cint, Cint), context, ub, _begin, _end) +end + +function CPXcallbackgetlocallb(context, lb, _begin, _end) + ccall((:CPXcallbackgetlocallb, libcplex), Cint, (CPXCALLBACKCONTEXTptr, Ptr{Cdouble}, Cint, Cint), context, lb, _begin, _end) +end + +function CPXcallbackgetlocalub(context, ub, _begin, _end) + ccall((:CPXcallbackgetlocalub, libcplex), Cint, (CPXCALLBACKCONTEXTptr, Ptr{Cdouble}, Cint, Cint), context, ub, _begin, _end) +end + +function CPXcallbacksetnodeuserhandle(env, cbdata, wherefrom, nodeindex, userhandle, olduserhandle_p) + ccall((:CPXcallbacksetnodeuserhandle, libcplex), Cint, (CPXCENVptr, Ptr{Cvoid}, Cint, Cint, Ptr{Cvoid}, Ptr{Ptr{Cvoid}}), env, cbdata, wherefrom, nodeindex, userhandle, olduserhandle_p) +end + +function CPXcallbacksetuserhandle(env, cbdata, wherefrom, userhandle, olduserhandle_p) + ccall((:CPXcallbacksetuserhandle, libcplex), Cint, (CPXCENVptr, Ptr{Cvoid}, Cint, Ptr{Cvoid}, Ptr{Ptr{Cvoid}}), env, cbdata, wherefrom, userhandle, olduserhandle_p) +end + +function CPXchgctype(env, lp, cnt, indices, xctype) + ccall((:CPXchgctype, libcplex), Cint, (CPXCENVptr, CPXLPptr, Cint, Ptr{Cint}, Cstring), env, lp, cnt, indices, xctype) +end + +function CPXchgmipstarts(env, lp, mcnt, mipstartindices, nzcnt, beg, varindices, values, effortlevel) + ccall((:CPXchgmipstarts, libcplex), Cint, (CPXCENVptr, CPXLPptr, Cint, Ptr{Cint}, Cint, Ptr{Cint}, Ptr{Cint}, Ptr{Cdouble}, Ptr{Cint}), env, lp, mcnt, mipstartindices, nzcnt, beg, varindices, values, effortlevel) +end + +function CPXcopyctype(env, lp, xctype) + ccall((:CPXcopyctype, libcplex), Cint, (CPXCENVptr, CPXLPptr, Cstring), env, lp, xctype) +end + +function CPXcopyorder(env, lp, cnt, indices, priority, direction) + ccall((:CPXcopyorder, libcplex), Cint, (CPXCENVptr, CPXLPptr, Cint, Ptr{Cint}, Ptr{Cint}, Ptr{Cint}), env, lp, cnt, indices, priority, direction) +end + +function CPXcopysos(env, lp, numsos, numsosnz, sostype, sosbeg, sosind, soswt, sosname) + ccall((:CPXcopysos, libcplex), Cint, (CPXCENVptr, CPXLPptr, Cint, Cint, Cstring, Ptr{Cint}, Ptr{Cint}, Ptr{Cdouble}, Ptr{Cstring}), env, lp, numsos, numsosnz, sostype, sosbeg, sosind, soswt, sosname) +end + +function CPXcutcallbackadd(env, cbdata, wherefrom, nzcnt, rhs, sense, cutind, cutval, purgeable) + ccall((:CPXcutcallbackadd, libcplex), Cint, (CPXCENVptr, Ptr{Cvoid}, Cint, Cint, Cdouble, Cint, Ptr{Cint}, Ptr{Cdouble}, Cint), env, cbdata, wherefrom, nzcnt, rhs, sense, cutind, cutval, purgeable) +end + +function CPXcutcallbackaddlocal(env, cbdata, wherefrom, nzcnt, rhs, sense, cutind, cutval) + ccall((:CPXcutcallbackaddlocal, libcplex), Cint, (CPXCENVptr, Ptr{Cvoid}, Cint, Cint, Cdouble, Cint, Ptr{Cint}, Ptr{Cdouble}), env, cbdata, wherefrom, nzcnt, rhs, sense, cutind, cutval) +end + +function CPXdelindconstrs(env, lp, _begin, _end) + ccall((:CPXdelindconstrs, libcplex), Cint, (CPXCENVptr, CPXLPptr, Cint, Cint), env, lp, _begin, _end) +end + +function CPXdelmipstarts(env, lp, _begin, _end) + ccall((:CPXdelmipstarts, libcplex), Cint, (CPXCENVptr, CPXLPptr, Cint, Cint), env, lp, _begin, _end) +end + +function CPXdelsetmipstarts(env, lp, delstat) + ccall((:CPXdelsetmipstarts, libcplex), Cint, (CPXCENVptr, CPXLPptr, Ptr{Cint}), env, lp, delstat) +end + +function CPXdelsetsolnpoolfilters(env, lp, delstat) + ccall((:CPXdelsetsolnpoolfilters, libcplex), Cint, (CPXCENVptr, CPXLPptr, Ptr{Cint}), env, lp, delstat) +end + +function CPXdelsetsolnpoolsolns(env, lp, delstat) + ccall((:CPXdelsetsolnpoolsolns, libcplex), Cint, (CPXCENVptr, CPXLPptr, Ptr{Cint}), env, lp, delstat) +end + +function CPXdelsetsos(env, lp, delset) + ccall((:CPXdelsetsos, libcplex), Cint, (CPXCENVptr, CPXLPptr, Ptr{Cint}), env, lp, delset) +end + +function CPXdelsolnpoolfilters(env, lp, _begin, _end) + ccall((:CPXdelsolnpoolfilters, libcplex), Cint, (CPXCENVptr, CPXLPptr, Cint, Cint), env, lp, _begin, _end) +end + +function CPXdelsolnpoolsolns(env, lp, _begin, _end) + ccall((:CPXdelsolnpoolsolns, libcplex), Cint, (CPXCENVptr, CPXLPptr, Cint, Cint), env, lp, _begin, _end) +end + +function CPXdelsos(env, lp, _begin, _end) + ccall((:CPXdelsos, libcplex), Cint, (CPXCENVptr, CPXLPptr, Cint, Cint), env, lp, _begin, _end) +end + +function CPXfltwrite(env, lp, filename_str) + ccall((:CPXfltwrite, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Cstring), env, lp, filename_str) +end + +function CPXfreelazyconstraints(env, lp) + ccall((:CPXfreelazyconstraints, libcplex), Cint, (CPXCENVptr, CPXLPptr), env, lp) +end + +function CPXfreeusercuts(env, lp) + ccall((:CPXfreeusercuts, libcplex), Cint, (CPXCENVptr, CPXLPptr), env, lp) +end + +function CPXgetbestobjval(env, lp, objval_p) + ccall((:CPXgetbestobjval, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Ptr{Cdouble}), env, lp, objval_p) +end + +function CPXgetbranchcallbackfunc(env, branchcallback_p, cbhandle_p) + ccall((:CPXgetbranchcallbackfunc, libcplex), Cint, (CPXCENVptr, Ptr{Ptr{Cvoid}}, Ptr{Ptr{Cvoid}}), env, branchcallback_p, cbhandle_p) +end + +function CPXgetbranchnosolncallbackfunc(env, branchnosolncallback_p, cbhandle_p) + ccall((:CPXgetbranchnosolncallbackfunc, libcplex), Cint, (CPXCENVptr, Ptr{Ptr{Cvoid}}, Ptr{Ptr{Cvoid}}), env, branchnosolncallback_p, cbhandle_p) +end + +function CPXgetcallbackbranchconstraints(env, cbdata, wherefrom, which, cuts_p, nzcnt_p, rhs, sense, rmatbeg, rmatind, rmatval, rmatsz, surplus_p) + ccall((:CPXgetcallbackbranchconstraints, libcplex), Cint, (CPXCENVptr, Ptr{Cvoid}, Cint, Cint, Ptr{Cint}, Ptr{Cint}, Ptr{Cdouble}, Cstring, Ptr{Cint}, Ptr{Cint}, Ptr{Cdouble}, Cint, Ptr{Cint}), env, cbdata, wherefrom, which, cuts_p, nzcnt_p, rhs, sense, rmatbeg, rmatind, rmatval, rmatsz, surplus_p) +end + +function CPXgetcallbackctype(env, cbdata, wherefrom, xctype, _begin, _end) + ccall((:CPXgetcallbackctype, libcplex), Cint, (CPXCENVptr, Ptr{Cvoid}, Cint, Cstring, Cint, Cint), env, cbdata, wherefrom, xctype, _begin, _end) +end + +function CPXgetcallbackgloballb(env, cbdata, wherefrom, lb, _begin, _end) + ccall((:CPXgetcallbackgloballb, libcplex), Cint, (CPXCENVptr, Ptr{Cvoid}, Cint, Ptr{Cdouble}, Cint, Cint), env, cbdata, wherefrom, lb, _begin, _end) +end + +function CPXgetcallbackglobalub(env, cbdata, wherefrom, ub, _begin, _end) + ccall((:CPXgetcallbackglobalub, libcplex), Cint, (CPXCENVptr, Ptr{Cvoid}, Cint, Ptr{Cdouble}, Cint, Cint), env, cbdata, wherefrom, ub, _begin, _end) +end + +function CPXgetcallbackincumbent(env, cbdata, wherefrom, x, _begin, _end) + ccall((:CPXgetcallbackincumbent, libcplex), Cint, (CPXCENVptr, Ptr{Cvoid}, Cint, Ptr{Cdouble}, Cint, Cint), env, cbdata, wherefrom, x, _begin, _end) +end + +function CPXgetcallbackindicatorinfo(env, cbdata, wherefrom, iindex, whichinfo, result_p) + ccall((:CPXgetcallbackindicatorinfo, libcplex), Cint, (CPXCENVptr, Ptr{Cvoid}, Cint, Cint, Cint, Ptr{Cvoid}), env, cbdata, wherefrom, iindex, whichinfo, result_p) +end + +function CPXgetcallbacklp(env, cbdata, wherefrom, lp_p) + ccall((:CPXgetcallbacklp, libcplex), Cint, (CPXCENVptr, Ptr{Cvoid}, Cint, Ptr{CPXCLPptr}), env, cbdata, wherefrom, lp_p) +end + +function CPXgetcallbacknodeinfo(env, cbdata, wherefrom, nodeindex, whichinfo, result_p) + ccall((:CPXgetcallbacknodeinfo, libcplex), Cint, (CPXCENVptr, Ptr{Cvoid}, Cint, Cint, Cint, Ptr{Cvoid}), env, cbdata, wherefrom, nodeindex, whichinfo, result_p) +end + +function CPXgetcallbacknodeintfeas(env, cbdata, wherefrom, feas, _begin, _end) + ccall((:CPXgetcallbacknodeintfeas, libcplex), Cint, (CPXCENVptr, Ptr{Cvoid}, Cint, Ptr{Cint}, Cint, Cint), env, cbdata, wherefrom, feas, _begin, _end) +end + +function CPXgetcallbacknodelb(env, cbdata, wherefrom, lb, _begin, _end) + ccall((:CPXgetcallbacknodelb, libcplex), Cint, (CPXCENVptr, Ptr{Cvoid}, Cint, Ptr{Cdouble}, Cint, Cint), env, cbdata, wherefrom, lb, _begin, _end) +end + +function CPXgetcallbacknodelp(env, cbdata, wherefrom, nodelp_p) + ccall((:CPXgetcallbacknodelp, libcplex), Cint, (CPXCENVptr, Ptr{Cvoid}, Cint, Ptr{CPXLPptr}), env, cbdata, wherefrom, nodelp_p) +end + +function CPXgetcallbacknodeobjval(env, cbdata, wherefrom, objval_p) + ccall((:CPXgetcallbacknodeobjval, libcplex), Cint, (CPXCENVptr, Ptr{Cvoid}, Cint, Ptr{Cdouble}), env, cbdata, wherefrom, objval_p) +end + +function CPXgetcallbacknodestat(env, cbdata, wherefrom, nodestat_p) + ccall((:CPXgetcallbacknodestat, libcplex), Cint, (CPXCENVptr, Ptr{Cvoid}, Cint, Ptr{Cint}), env, cbdata, wherefrom, nodestat_p) +end + +function CPXgetcallbacknodeub(env, cbdata, wherefrom, ub, _begin, _end) + ccall((:CPXgetcallbacknodeub, libcplex), Cint, (CPXCENVptr, Ptr{Cvoid}, Cint, Ptr{Cdouble}, Cint, Cint), env, cbdata, wherefrom, ub, _begin, _end) +end + +function CPXgetcallbacknodex(env, cbdata, wherefrom, x, _begin, _end) + ccall((:CPXgetcallbacknodex, libcplex), Cint, (CPXCENVptr, Ptr{Cvoid}, Cint, Ptr{Cdouble}, Cint, Cint), env, cbdata, wherefrom, x, _begin, _end) +end + +function CPXgetcallbackorder(env, cbdata, wherefrom, priority, direction, _begin, _end) + ccall((:CPXgetcallbackorder, libcplex), Cint, (CPXCENVptr, Ptr{Cvoid}, Cint, Ptr{Cint}, Ptr{Cint}, Cint, Cint), env, cbdata, wherefrom, priority, direction, _begin, _end) +end + +function CPXgetcallbackpseudocosts(env, cbdata, wherefrom, uppc, downpc, _begin, _end) + ccall((:CPXgetcallbackpseudocosts, libcplex), Cint, (CPXCENVptr, Ptr{Cvoid}, Cint, Ptr{Cdouble}, Ptr{Cdouble}, Cint, Cint), env, cbdata, wherefrom, uppc, downpc, _begin, _end) +end + +function CPXgetcallbackseqinfo(env, cbdata, wherefrom, seqid, whichinfo, result_p) + ccall((:CPXgetcallbackseqinfo, libcplex), Cint, (CPXCENVptr, Ptr{Cvoid}, Cint, Cint, Cint, Ptr{Cvoid}), env, cbdata, wherefrom, seqid, whichinfo, result_p) +end + +function CPXgetcallbacksosinfo(env, cbdata, wherefrom, sosindex, member, whichinfo, result_p) + ccall((:CPXgetcallbacksosinfo, libcplex), Cint, (CPXCENVptr, Ptr{Cvoid}, Cint, Cint, Cint, Cint, Ptr{Cvoid}), env, cbdata, wherefrom, sosindex, member, whichinfo, result_p) +end + +function CPXgetctype(env, lp, xctype, _begin, _end) + ccall((:CPXgetctype, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Cstring, Cint, Cint), env, lp, xctype, _begin, _end) +end + +function CPXgetcutoff(env, lp, cutoff_p) + ccall((:CPXgetcutoff, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Ptr{Cdouble}), env, lp, cutoff_p) +end + +function CPXgetdeletenodecallbackfunc(env, deletecallback_p, cbhandle_p) + ccall((:CPXgetdeletenodecallbackfunc, libcplex), Cint, (CPXCENVptr, Ptr{Ptr{Cvoid}}, Ptr{Ptr{Cvoid}}), env, deletecallback_p, cbhandle_p) +end + +function CPXgetheuristiccallbackfunc(env, heuristiccallback_p, cbhandle_p) + ccall((:CPXgetheuristiccallbackfunc, libcplex), Cint, (CPXCENVptr, Ptr{Ptr{Cvoid}}, Ptr{Ptr{Cvoid}}), env, heuristiccallback_p, cbhandle_p) +end + +function CPXgetincumbentcallbackfunc(env, incumbentcallback_p, cbhandle_p) + ccall((:CPXgetincumbentcallbackfunc, libcplex), Cint, (CPXCENVptr, Ptr{Ptr{Cvoid}}, Ptr{Ptr{Cvoid}}), env, incumbentcallback_p, cbhandle_p) +end + +function CPXgetindconstr(env, lp, indvar_p, complemented_p, nzcnt_p, rhs_p, sense_p, linind, linval, space, surplus_p, which) + ccall((:CPXgetindconstr, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Ptr{Cint}, Ptr{Cint}, Ptr{Cint}, Ptr{Cdouble}, Cstring, Ptr{Cint}, Ptr{Cdouble}, Cint, Ptr{Cint}, Cint), env, lp, indvar_p, complemented_p, nzcnt_p, rhs_p, sense_p, linind, linval, space, surplus_p, which) +end + +function CPXgetindconstraints(env, lp, type, indvar, complemented, nzcnt_p, rhs, sense, linbeg, linind, linval, linspace, surplus_p, _begin, _end) + ccall((:CPXgetindconstraints, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Ptr{Cint}, Ptr{Cint}, Ptr{Cint}, Ptr{Cint}, Ptr{Cdouble}, Cstring, Ptr{Cint}, Ptr{Cint}, Ptr{Cdouble}, Cint, Ptr{Cint}, Cint, Cint), env, lp, type, indvar, complemented, nzcnt_p, rhs, sense, linbeg, linind, linval, linspace, surplus_p, _begin, _end) +end + +function CPXgetindconstrindex(env, lp, lname_str, index_p) + ccall((:CPXgetindconstrindex, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Cstring, Ptr{Cint}), env, lp, lname_str, index_p) +end + +function CPXgetindconstrinfeas(env, lp, x, infeasout, _begin, _end) + ccall((:CPXgetindconstrinfeas, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Ptr{Cdouble}, Ptr{Cdouble}, Cint, Cint), env, lp, x, infeasout, _begin, _end) +end + +function CPXgetindconstrname(env, lp, buf_str, bufspace, surplus_p, which) + ccall((:CPXgetindconstrname, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Cstring, Cint, Ptr{Cint}, Cint), env, lp, buf_str, bufspace, surplus_p, which) +end + +function CPXgetindconstrslack(env, lp, indslack, _begin, _end) + ccall((:CPXgetindconstrslack, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Ptr{Cdouble}, Cint, Cint), env, lp, indslack, _begin, _end) +end + +function CPXgetinfocallbackfunc(env, callback_p, cbhandle_p) + ccall((:CPXgetinfocallbackfunc, libcplex), Cint, (CPXCENVptr, Ptr{Ptr{Cvoid}}, Ptr{Ptr{Cvoid}}), env, callback_p, cbhandle_p) +end + +function CPXgetlazyconstraintcallbackfunc(env, cutcallback_p, cbhandle_p) + ccall((:CPXgetlazyconstraintcallbackfunc, libcplex), Cint, (CPXCENVptr, Ptr{Ptr{Cvoid}}, Ptr{Ptr{Cvoid}}), env, cutcallback_p, cbhandle_p) +end + +function CPXgetmipcallbackfunc(env, callback_p, cbhandle_p) + ccall((:CPXgetmipcallbackfunc, libcplex), Cint, (CPXCENVptr, Ptr{Ptr{Cvoid}}, Ptr{Ptr{Cvoid}}), env, callback_p, cbhandle_p) +end + +function CPXgetmipitcnt(env, lp) + ccall((:CPXgetmipitcnt, libcplex), Cint, (CPXCENVptr, CPXCLPptr), env, lp) +end + +function CPXgetmiprelgap(env, lp, gap_p) + ccall((:CPXgetmiprelgap, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Ptr{Cdouble}), env, lp, gap_p) +end + +function CPXgetmipstartindex(env, lp, lname_str, index_p) + ccall((:CPXgetmipstartindex, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Cstring, Ptr{Cint}), env, lp, lname_str, index_p) +end + +function CPXgetmipstartname(env, lp, name, store, storesz, surplus_p, _begin, _end) + ccall((:CPXgetmipstartname, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Ptr{Cstring}, Cstring, Cint, Ptr{Cint}, Cint, Cint), env, lp, name, store, storesz, surplus_p, _begin, _end) +end + +function CPXgetmipstarts(env, lp, nzcnt_p, beg, varindices, values, effortlevel, startspace, surplus_p, _begin, _end) + ccall((:CPXgetmipstarts, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Ptr{Cint}, Ptr{Cint}, Ptr{Cint}, Ptr{Cdouble}, Ptr{Cint}, Cint, Ptr{Cint}, Cint, Cint), env, lp, nzcnt_p, beg, varindices, values, effortlevel, startspace, surplus_p, _begin, _end) +end + +function CPXgetnodecallbackfunc(env, nodecallback_p, cbhandle_p) + ccall((:CPXgetnodecallbackfunc, libcplex), Cint, (CPXCENVptr, Ptr{Ptr{Cvoid}}, Ptr{Ptr{Cvoid}}), env, nodecallback_p, cbhandle_p) +end + +function CPXgetnodecnt(env, lp) + ccall((:CPXgetnodecnt, libcplex), Cint, (CPXCENVptr, CPXCLPptr), env, lp) +end + +function CPXgetnodeint(env, lp) + ccall((:CPXgetnodeint, libcplex), Cint, (CPXCENVptr, CPXCLPptr), env, lp) +end + +function CPXgetnodeleftcnt(env, lp) + ccall((:CPXgetnodeleftcnt, libcplex), Cint, (CPXCENVptr, CPXCLPptr), env, lp) +end + +function CPXgetnumbin(env, lp) + ccall((:CPXgetnumbin, libcplex), Cint, (CPXCENVptr, CPXCLPptr), env, lp) +end + +function CPXgetnumcuts(env, lp, cuttype, num_p) + ccall((:CPXgetnumcuts, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Cint, Ptr{Cint}), env, lp, cuttype, num_p) +end + +function CPXgetnumindconstrs(env, lp) + ccall((:CPXgetnumindconstrs, libcplex), Cint, (CPXCENVptr, CPXCLPptr), env, lp) +end + +function CPXgetnumint(env, lp) + ccall((:CPXgetnumint, libcplex), Cint, (CPXCENVptr, CPXCLPptr), env, lp) +end + +function CPXgetnumlazyconstraints(env, lp) + ccall((:CPXgetnumlazyconstraints, libcplex), Cint, (CPXCENVptr, CPXCLPptr), env, lp) +end + +function CPXgetnummipstarts(env, lp) + ccall((:CPXgetnummipstarts, libcplex), Cint, (CPXCENVptr, CPXCLPptr), env, lp) +end + +function CPXgetnumsemicont(env, lp) + ccall((:CPXgetnumsemicont, libcplex), Cint, (CPXCENVptr, CPXCLPptr), env, lp) +end + +function CPXgetnumsemiint(env, lp) + ccall((:CPXgetnumsemiint, libcplex), Cint, (CPXCENVptr, CPXCLPptr), env, lp) +end + +function CPXgetnumsos(env, lp) + ccall((:CPXgetnumsos, libcplex), Cint, (CPXCENVptr, CPXCLPptr), env, lp) +end + +function CPXgetnumusercuts(env, lp) + ccall((:CPXgetnumusercuts, libcplex), Cint, (CPXCENVptr, CPXCLPptr), env, lp) +end + +function CPXgetorder(env, lp, cnt_p, indices, priority, direction, ordspace, surplus_p) + ccall((:CPXgetorder, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Ptr{Cint}, Ptr{Cint}, Ptr{Cint}, Ptr{Cint}, Cint, Ptr{Cint}), env, lp, cnt_p, indices, priority, direction, ordspace, surplus_p) +end + +function CPXgetsolnpooldivfilter(env, lp, lower_cutoff_p, upper_cutoff_p, nzcnt_p, ind, val, refval, space, surplus_p, which) + ccall((:CPXgetsolnpooldivfilter, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Ptr{Cdouble}, Ptr{Cdouble}, Ptr{Cint}, Ptr{Cint}, Ptr{Cdouble}, Ptr{Cdouble}, Cint, Ptr{Cint}, Cint), env, lp, lower_cutoff_p, upper_cutoff_p, nzcnt_p, ind, val, refval, space, surplus_p, which) +end + +function CPXgetsolnpoolfilterindex(env, lp, lname_str, index_p) + ccall((:CPXgetsolnpoolfilterindex, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Cstring, Ptr{Cint}), env, lp, lname_str, index_p) +end + +function CPXgetsolnpoolfiltername(env, lp, buf_str, bufspace, surplus_p, which) + ccall((:CPXgetsolnpoolfiltername, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Cstring, Cint, Ptr{Cint}, Cint), env, lp, buf_str, bufspace, surplus_p, which) +end + +function CPXgetsolnpoolfiltertype(env, lp, ftype_p, which) + ccall((:CPXgetsolnpoolfiltertype, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Ptr{Cint}, Cint), env, lp, ftype_p, which) +end + +function CPXgetsolnpoolmeanobjval(env, lp, meanobjval_p) + ccall((:CPXgetsolnpoolmeanobjval, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Ptr{Cdouble}), env, lp, meanobjval_p) +end + +function CPXgetsolnpoolnumfilters(env, lp) + ccall((:CPXgetsolnpoolnumfilters, libcplex), Cint, (CPXCENVptr, CPXCLPptr), env, lp) +end + +function CPXgetsolnpoolnumreplaced(env, lp) + ccall((:CPXgetsolnpoolnumreplaced, libcplex), Cint, (CPXCENVptr, CPXCLPptr), env, lp) +end + +function CPXgetsolnpoolnumsolns(env, lp) + ccall((:CPXgetsolnpoolnumsolns, libcplex), Cint, (CPXCENVptr, CPXCLPptr), env, lp) +end + +function CPXgetsolnpoolobjval(env, lp, soln, objval_p) + ccall((:CPXgetsolnpoolobjval, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Cint, Ptr{Cdouble}), env, lp, soln, objval_p) +end + +function CPXgetsolnpoolqconstrslack(env, lp, soln, qcslack, _begin, _end) + ccall((:CPXgetsolnpoolqconstrslack, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Cint, Ptr{Cdouble}, Cint, Cint), env, lp, soln, qcslack, _begin, _end) +end + +function CPXgetsolnpoolrngfilter(env, lp, lb_p, ub_p, nzcnt_p, ind, val, space, surplus_p, which) + ccall((:CPXgetsolnpoolrngfilter, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Ptr{Cdouble}, Ptr{Cdouble}, Ptr{Cint}, Ptr{Cint}, Ptr{Cdouble}, Cint, Ptr{Cint}, Cint), env, lp, lb_p, ub_p, nzcnt_p, ind, val, space, surplus_p, which) +end + +function CPXgetsolnpoolslack(env, lp, soln, slack, _begin, _end) + ccall((:CPXgetsolnpoolslack, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Cint, Ptr{Cdouble}, Cint, Cint), env, lp, soln, slack, _begin, _end) +end + +function CPXgetsolnpoolsolnindex(env, lp, lname_str, index_p) + ccall((:CPXgetsolnpoolsolnindex, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Cstring, Ptr{Cint}), env, lp, lname_str, index_p) +end + +function CPXgetsolnpoolsolnname(env, lp, store, storesz, surplus_p, which) + ccall((:CPXgetsolnpoolsolnname, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Cstring, Cint, Ptr{Cint}, Cint), env, lp, store, storesz, surplus_p, which) +end + +function CPXgetsolnpoolx(env, lp, soln, x, _begin, _end) + ccall((:CPXgetsolnpoolx, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Cint, Ptr{Cdouble}, Cint, Cint), env, lp, soln, x, _begin, _end) +end + +function CPXgetsolvecallbackfunc(env, solvecallback_p, cbhandle_p) + ccall((:CPXgetsolvecallbackfunc, libcplex), Cint, (CPXCENVptr, Ptr{Ptr{Cvoid}}, Ptr{Ptr{Cvoid}}), env, solvecallback_p, cbhandle_p) +end + +function CPXgetsos(env, lp, numsosnz_p, sostype, sosbeg, sosind, soswt, sosspace, surplus_p, _begin, _end) + ccall((:CPXgetsos, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Ptr{Cint}, Cstring, Ptr{Cint}, Ptr{Cint}, Ptr{Cdouble}, Cint, Ptr{Cint}, Cint, Cint), env, lp, numsosnz_p, sostype, sosbeg, sosind, soswt, sosspace, surplus_p, _begin, _end) +end + +function CPXgetsosindex(env, lp, lname_str, index_p) + ccall((:CPXgetsosindex, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Cstring, Ptr{Cint}), env, lp, lname_str, index_p) +end + +function CPXgetsosinfeas(env, lp, x, infeasout, _begin, _end) + ccall((:CPXgetsosinfeas, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Ptr{Cdouble}, Ptr{Cdouble}, Cint, Cint), env, lp, x, infeasout, _begin, _end) +end + +function CPXgetsosname(env, lp, name, namestore, storespace, surplus_p, _begin, _end) + ccall((:CPXgetsosname, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Ptr{Cstring}, Cstring, Cint, Ptr{Cint}, Cint, Cint), env, lp, name, namestore, storespace, surplus_p, _begin, _end) +end + +function CPXgetsubmethod(env, lp) + ccall((:CPXgetsubmethod, libcplex), Cint, (CPXCENVptr, CPXCLPptr), env, lp) +end + +function CPXgetsubstat(env, lp) + ccall((:CPXgetsubstat, libcplex), Cint, (CPXCENVptr, CPXCLPptr), env, lp) +end + +function CPXgetusercutcallbackfunc(env, cutcallback_p, cbhandle_p) + ccall((:CPXgetusercutcallbackfunc, libcplex), Cint, (CPXCENVptr, Ptr{Ptr{Cvoid}}, Ptr{Ptr{Cvoid}}), env, cutcallback_p, cbhandle_p) +end + +function CPXindconstrslackfromx(env, lp, x, indslack) + ccall((:CPXindconstrslackfromx, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Ptr{Cdouble}, Ptr{Cdouble}), env, lp, x, indslack) +end + +function CPXmipopt(env, lp) + ccall((:CPXmipopt, libcplex), Cint, (CPXCENVptr, CPXLPptr), env, lp) +end + +function CPXordread(env, filename_str, numcols, colname, cnt_p, indices, priority, direction) + ccall((:CPXordread, libcplex), Cint, (CPXCENVptr, Cstring, Cint, Ptr{Cstring}, Ptr{Cint}, Ptr{Cint}, Ptr{Cint}, Ptr{Cint}), env, filename_str, numcols, colname, cnt_p, indices, priority, direction) +end + +function CPXordwrite(env, lp, filename_str) + ccall((:CPXordwrite, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Cstring), env, lp, filename_str) +end + +function CPXpopulate(env, lp) + ccall((:CPXpopulate, libcplex), Cint, (CPXCENVptr, CPXLPptr), env, lp) +end + +function CPXreadcopymipstarts(env, lp, filename_str) + ccall((:CPXreadcopymipstarts, libcplex), Cint, (CPXCENVptr, CPXLPptr, Cstring), env, lp, filename_str) +end + +function CPXreadcopyorder(env, lp, filename_str) + ccall((:CPXreadcopyorder, libcplex), Cint, (CPXCENVptr, CPXLPptr, Cstring), env, lp, filename_str) +end + +function CPXreadcopysolnpoolfilters(env, lp, filename_str) + ccall((:CPXreadcopysolnpoolfilters, libcplex), Cint, (CPXCENVptr, CPXLPptr, Cstring), env, lp, filename_str) +end + +function CPXrefinemipstartconflict(env, lp, mipstartindex, confnumrows_p, confnumcols_p) + ccall((:CPXrefinemipstartconflict, libcplex), Cint, (CPXCENVptr, CPXLPptr, Cint, Ptr{Cint}, Ptr{Cint}), env, lp, mipstartindex, confnumrows_p, confnumcols_p) +end + +function CPXrefinemipstartconflictext(env, lp, mipstartindex, grpcnt, concnt, grppref, grpbeg, grpind, grptype) + ccall((:CPXrefinemipstartconflictext, libcplex), Cint, (CPXCENVptr, CPXLPptr, Cint, Cint, Cint, Ptr{Cdouble}, Ptr{Cint}, Ptr{Cint}, Cstring), env, lp, mipstartindex, grpcnt, concnt, grppref, grpbeg, grpind, grptype) +end + +function CPXsetbranchcallbackfunc(env, branchcallback, cbhandle) + ccall((:CPXsetbranchcallbackfunc, libcplex), Cint, (CPXENVptr, Ptr{Cvoid}, Ptr{Cvoid}), env, branchcallback, cbhandle) +end + +function CPXsetbranchnosolncallbackfunc(env, branchnosolncallback, cbhandle) + ccall((:CPXsetbranchnosolncallbackfunc, libcplex), Cint, (CPXENVptr, Ptr{Cvoid}, Ptr{Cvoid}), env, branchnosolncallback, cbhandle) +end + +function CPXsetdeletenodecallbackfunc(env, deletecallback, cbhandle) + ccall((:CPXsetdeletenodecallbackfunc, libcplex), Cint, (CPXENVptr, Ptr{Cvoid}, Ptr{Cvoid}), env, deletecallback, cbhandle) +end + +function CPXsetheuristiccallbackfunc(env, heuristiccallback, cbhandle) + ccall((:CPXsetheuristiccallbackfunc, libcplex), Cint, (CPXENVptr, Ptr{Cvoid}, Ptr{Cvoid}), env, heuristiccallback, cbhandle) +end + +function CPXsetincumbentcallbackfunc(env, incumbentcallback, cbhandle) + ccall((:CPXsetincumbentcallbackfunc, libcplex), Cint, (CPXENVptr, Ptr{Cvoid}, Ptr{Cvoid}), env, incumbentcallback, cbhandle) +end + +function CPXsetinfocallbackfunc(env, callback, cbhandle) + ccall((:CPXsetinfocallbackfunc, libcplex), Cint, (CPXENVptr, Ptr{Cvoid}, Ptr{Cvoid}), env, callback, cbhandle) +end + +function CPXsetlazyconstraintcallbackfunc(env, lazyconcallback, cbhandle) + ccall((:CPXsetlazyconstraintcallbackfunc, libcplex), Cint, (CPXENVptr, Ptr{Cvoid}, Ptr{Cvoid}), env, lazyconcallback, cbhandle) +end + +function CPXsetmipcallbackfunc(env, callback, cbhandle) + ccall((:CPXsetmipcallbackfunc, libcplex), Cint, (CPXENVptr, Ptr{Cvoid}, Ptr{Cvoid}), env, callback, cbhandle) +end + +function CPXsetnodecallbackfunc(env, nodecallback, cbhandle) + ccall((:CPXsetnodecallbackfunc, libcplex), Cint, (CPXENVptr, Ptr{Cvoid}, Ptr{Cvoid}), env, nodecallback, cbhandle) +end + +function CPXsetsolvecallbackfunc(env, solvecallback, cbhandle) + ccall((:CPXsetsolvecallbackfunc, libcplex), Cint, (CPXENVptr, Ptr{Cvoid}, Ptr{Cvoid}), env, solvecallback, cbhandle) +end + +function CPXsetusercutcallbackfunc(env, cutcallback, cbhandle) + ccall((:CPXsetusercutcallbackfunc, libcplex), Cint, (CPXENVptr, Ptr{Cvoid}, Ptr{Cvoid}), env, cutcallback, cbhandle) +end + +function CPXwritemipstarts(env, lp, filename_str, _begin, _end) + ccall((:CPXwritemipstarts, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Cstring, Cint, Cint), env, lp, filename_str, _begin, _end) +end + +function CPXaddindconstr(env, lp, indvar, complemented, nzcnt, rhs, sense, linind, linval, indname_str) + ccall((:CPXaddindconstr, libcplex), Cint, (CPXCENVptr, CPXLPptr, Cint, Cint, Cint, Cdouble, Cint, Ptr{Cint}, Ptr{Cdouble}, Cstring), env, lp, indvar, complemented, nzcnt, rhs, sense, linind, linval, indname_str) +end + +function CPXNETaddarcs(env, net, narcs, fromnode, tonode, low, up, obj, anames) + ccall((:CPXNETaddarcs, libcplex), Cint, (CPXCENVptr, CPXNETptr, Cint, Ptr{Cint}, Ptr{Cint}, Ptr{Cdouble}, Ptr{Cdouble}, Ptr{Cdouble}, Ptr{Cstring}), env, net, narcs, fromnode, tonode, low, up, obj, anames) +end + +function CPXNETaddnodes(env, net, nnodes, supply, name) + ccall((:CPXNETaddnodes, libcplex), Cint, (CPXCENVptr, CPXNETptr, Cint, Ptr{Cdouble}, Ptr{Cstring}), env, net, nnodes, supply, name) +end + +function CPXNETbasewrite(env, net, filename_str) + ccall((:CPXNETbasewrite, libcplex), Cint, (CPXCENVptr, CPXCNETptr, Cstring), env, net, filename_str) +end + +function CPXNETchgarcname(env, net, cnt, indices, newname) + ccall((:CPXNETchgarcname, libcplex), Cint, (CPXCENVptr, CPXNETptr, Cint, Ptr{Cint}, Ptr{Cstring}), env, net, cnt, indices, newname) +end + +function CPXNETchgarcnodes(env, net, cnt, indices, fromnode, tonode) + ccall((:CPXNETchgarcnodes, libcplex), Cint, (CPXCENVptr, CPXNETptr, Cint, Ptr{Cint}, Ptr{Cint}, Ptr{Cint}), env, net, cnt, indices, fromnode, tonode) +end + +function CPXNETchgbds(env, net, cnt, indices, lu, bd) + ccall((:CPXNETchgbds, libcplex), Cint, (CPXCENVptr, CPXNETptr, Cint, Ptr{Cint}, Cstring, Ptr{Cdouble}), env, net, cnt, indices, lu, bd) +end + +function CPXNETchgname(env, net, key, vindex, name_str) + ccall((:CPXNETchgname, libcplex), Cint, (CPXCENVptr, CPXNETptr, Cint, Cint, Cstring), env, net, key, vindex, name_str) +end + +function CPXNETchgnodename(env, net, cnt, indices, newname) + ccall((:CPXNETchgnodename, libcplex), Cint, (CPXCENVptr, CPXNETptr, Cint, Ptr{Cint}, Ptr{Cstring}), env, net, cnt, indices, newname) +end + +function CPXNETchgobj(env, net, cnt, indices, obj) + ccall((:CPXNETchgobj, libcplex), Cint, (CPXCENVptr, CPXNETptr, Cint, Ptr{Cint}, Ptr{Cdouble}), env, net, cnt, indices, obj) +end + +function CPXNETchgobjsen(env, net, maxormin) + ccall((:CPXNETchgobjsen, libcplex), Cint, (CPXCENVptr, CPXNETptr, Cint), env, net, maxormin) +end + +function CPXNETchgsupply(env, net, cnt, indices, supply) + ccall((:CPXNETchgsupply, libcplex), Cint, (CPXCENVptr, CPXNETptr, Cint, Ptr{Cint}, Ptr{Cdouble}), env, net, cnt, indices, supply) +end + +function CPXNETcopybase(env, net, astat, nstat) + ccall((:CPXNETcopybase, libcplex), Cint, (CPXCENVptr, CPXNETptr, Ptr{Cint}, Ptr{Cint}), env, net, astat, nstat) +end + +function CPXNETcopynet(env, net, objsen, nnodes, supply, nnames, narcs, fromnode, tonode, low, up, obj, anames) + ccall((:CPXNETcopynet, libcplex), Cint, (CPXCENVptr, CPXNETptr, Cint, Cint, Ptr{Cdouble}, Ptr{Cstring}, Cint, Ptr{Cint}, Ptr{Cint}, Ptr{Cdouble}, Ptr{Cdouble}, Ptr{Cdouble}, Ptr{Cstring}), env, net, objsen, nnodes, supply, nnames, narcs, fromnode, tonode, low, up, obj, anames) +end + +function CPXNETcreateprob(env, status_p, name_str) + ccall((:CPXNETcreateprob, libcplex), CPXNETptr, (CPXENVptr, Ptr{Cint}, Cstring), env, status_p, name_str) +end + +function CPXNETdelarcs(env, net, _begin, _end) + ccall((:CPXNETdelarcs, libcplex), Cint, (CPXCENVptr, CPXNETptr, Cint, Cint), env, net, _begin, _end) +end + +function CPXNETdelnodes(env, net, _begin, _end) + ccall((:CPXNETdelnodes, libcplex), Cint, (CPXCENVptr, CPXNETptr, Cint, Cint), env, net, _begin, _end) +end + +function CPXNETdelset(env, net, whichnodes, whicharcs) + ccall((:CPXNETdelset, libcplex), Cint, (CPXCENVptr, CPXNETptr, Ptr{Cint}, Ptr{Cint}), env, net, whichnodes, whicharcs) +end + +function CPXNETfreeprob(env, net_p) + ccall((:CPXNETfreeprob, libcplex), Cint, (CPXENVptr, Ptr{CPXNETptr}), env, net_p) +end + +function CPXNETgetarcindex(env, net, lname_str, index_p) + ccall((:CPXNETgetarcindex, libcplex), Cint, (CPXCENVptr, CPXCNETptr, Cstring, Ptr{Cint}), env, net, lname_str, index_p) +end + +function CPXNETgetarcname(env, net, nnames, namestore, namespc, surplus_p, _begin, _end) + ccall((:CPXNETgetarcname, libcplex), Cint, (CPXCENVptr, CPXCNETptr, Ptr{Cstring}, Cstring, Cint, Ptr{Cint}, Cint, Cint), env, net, nnames, namestore, namespc, surplus_p, _begin, _end) +end + +function CPXNETgetarcnodes(env, net, fromnode, tonode, _begin, _end) + ccall((:CPXNETgetarcnodes, libcplex), Cint, (CPXCENVptr, CPXCNETptr, Ptr{Cint}, Ptr{Cint}, Cint, Cint), env, net, fromnode, tonode, _begin, _end) +end + +function CPXNETgetbase(env, net, astat, nstat) + ccall((:CPXNETgetbase, libcplex), Cint, (CPXCENVptr, CPXCNETptr, Ptr{Cint}, Ptr{Cint}), env, net, astat, nstat) +end + +function CPXNETgetdj(env, net, dj, _begin, _end) + ccall((:CPXNETgetdj, libcplex), Cint, (CPXCENVptr, CPXCNETptr, Ptr{Cdouble}, Cint, Cint), env, net, dj, _begin, _end) +end + +function CPXNETgetitcnt(env, net) + ccall((:CPXNETgetitcnt, libcplex), Cint, (CPXCENVptr, CPXCNETptr), env, net) +end + +function CPXNETgetlb(env, net, low, _begin, _end) + ccall((:CPXNETgetlb, libcplex), Cint, (CPXCENVptr, CPXCNETptr, Ptr{Cdouble}, Cint, Cint), env, net, low, _begin, _end) +end + +function CPXNETgetnodearcs(env, net, arccnt_p, arcbeg, arc, arcspace, surplus_p, _begin, _end) + ccall((:CPXNETgetnodearcs, libcplex), Cint, (CPXCENVptr, CPXCNETptr, Ptr{Cint}, Ptr{Cint}, Ptr{Cint}, Cint, Ptr{Cint}, Cint, Cint), env, net, arccnt_p, arcbeg, arc, arcspace, surplus_p, _begin, _end) +end + +function CPXNETgetnodeindex(env, net, lname_str, index_p) + ccall((:CPXNETgetnodeindex, libcplex), Cint, (CPXCENVptr, CPXCNETptr, Cstring, Ptr{Cint}), env, net, lname_str, index_p) +end + +function CPXNETgetnodename(env, net, nnames, namestore, namespc, surplus_p, _begin, _end) + ccall((:CPXNETgetnodename, libcplex), Cint, (CPXCENVptr, CPXCNETptr, Ptr{Cstring}, Cstring, Cint, Ptr{Cint}, Cint, Cint), env, net, nnames, namestore, namespc, surplus_p, _begin, _end) +end + +function CPXNETgetnumarcs(env, net) + ccall((:CPXNETgetnumarcs, libcplex), Cint, (CPXCENVptr, CPXCNETptr), env, net) +end + +function CPXNETgetnumnodes(env, net) + ccall((:CPXNETgetnumnodes, libcplex), Cint, (CPXCENVptr, CPXCNETptr), env, net) +end + +function CPXNETgetobj(env, net, obj, _begin, _end) + ccall((:CPXNETgetobj, libcplex), Cint, (CPXCENVptr, CPXCNETptr, Ptr{Cdouble}, Cint, Cint), env, net, obj, _begin, _end) +end + +function CPXNETgetobjsen(env, net) + ccall((:CPXNETgetobjsen, libcplex), Cint, (CPXCENVptr, CPXCNETptr), env, net) +end + +function CPXNETgetobjval(env, net, objval_p) + ccall((:CPXNETgetobjval, libcplex), Cint, (CPXCENVptr, CPXCNETptr, Ptr{Cdouble}), env, net, objval_p) +end + +function CPXNETgetphase1cnt(env, net) + ccall((:CPXNETgetphase1cnt, libcplex), Cint, (CPXCENVptr, CPXCNETptr), env, net) +end + +function CPXNETgetpi(env, net, pi, _begin, _end) + ccall((:CPXNETgetpi, libcplex), Cint, (CPXCENVptr, CPXCNETptr, Ptr{Cdouble}, Cint, Cint), env, net, pi, _begin, _end) +end + +function CPXNETgetprobname(env, net, buf_str, bufspace, surplus_p) + ccall((:CPXNETgetprobname, libcplex), Cint, (CPXCENVptr, CPXCNETptr, Cstring, Cint, Ptr{Cint}), env, net, buf_str, bufspace, surplus_p) +end + +function CPXNETgetslack(env, net, slack, _begin, _end) + ccall((:CPXNETgetslack, libcplex), Cint, (CPXCENVptr, CPXCNETptr, Ptr{Cdouble}, Cint, Cint), env, net, slack, _begin, _end) +end + +function CPXNETgetstat(env, net) + ccall((:CPXNETgetstat, libcplex), Cint, (CPXCENVptr, CPXCNETptr), env, net) +end + +function CPXNETgetsupply(env, net, supply, _begin, _end) + ccall((:CPXNETgetsupply, libcplex), Cint, (CPXCENVptr, CPXCNETptr, Ptr{Cdouble}, Cint, Cint), env, net, supply, _begin, _end) +end + +function CPXNETgetub(env, net, up, _begin, _end) + ccall((:CPXNETgetub, libcplex), Cint, (CPXCENVptr, CPXCNETptr, Ptr{Cdouble}, Cint, Cint), env, net, up, _begin, _end) +end + +function CPXNETgetx(env, net, x, _begin, _end) + ccall((:CPXNETgetx, libcplex), Cint, (CPXCENVptr, CPXCNETptr, Ptr{Cdouble}, Cint, Cint), env, net, x, _begin, _end) +end + +function CPXNETprimopt(env, net) + ccall((:CPXNETprimopt, libcplex), Cint, (CPXCENVptr, CPXNETptr), env, net) +end + +function CPXNETreadcopybase(env, net, filename_str) + ccall((:CPXNETreadcopybase, libcplex), Cint, (CPXCENVptr, CPXNETptr, Cstring), env, net, filename_str) +end + +function CPXNETreadcopyprob(env, net, filename_str) + ccall((:CPXNETreadcopyprob, libcplex), Cint, (CPXCENVptr, CPXNETptr, Cstring), env, net, filename_str) +end + +function CPXNETsolninfo(env, net, pfeasind_p, dfeasind_p) + ccall((:CPXNETsolninfo, libcplex), Cint, (CPXCENVptr, CPXCNETptr, Ptr{Cint}, Ptr{Cint}), env, net, pfeasind_p, dfeasind_p) +end + +function CPXNETsolution(env, net, netstat_p, objval_p, x, pi, slack, dj) + ccall((:CPXNETsolution, libcplex), Cint, (CPXCENVptr, CPXCNETptr, Ptr{Cint}, Ptr{Cdouble}, Ptr{Cdouble}, Ptr{Cdouble}, Ptr{Cdouble}, Ptr{Cdouble}), env, net, netstat_p, objval_p, x, pi, slack, dj) +end + +function CPXNETwriteprob(env, net, filename_str, format_str) + ccall((:CPXNETwriteprob, libcplex), Cint, (CPXCENVptr, CPXCNETptr, Cstring, Cstring), env, net, filename_str, format_str) +end + +function CPXchgqpcoef(env, lp, i, j, newvalue) + ccall((:CPXchgqpcoef, libcplex), Cint, (CPXCENVptr, CPXLPptr, Cint, Cint, Cdouble), env, lp, i, j, newvalue) +end + +function CPXcopyqpsep(env, lp, qsepvec) + ccall((:CPXcopyqpsep, libcplex), Cint, (CPXCENVptr, CPXLPptr, Ptr{Cdouble}), env, lp, qsepvec) +end + +function CPXcopyquad(env, lp, qmatbeg, qmatcnt, qmatind, qmatval) + ccall((:CPXcopyquad, libcplex), Cint, (CPXCENVptr, CPXLPptr, Ptr{Cint}, Ptr{Cint}, Ptr{Cint}, Ptr{Cdouble}), env, lp, qmatbeg, qmatcnt, qmatind, qmatval) +end + +function CPXgetnumqpnz(env, lp) + ccall((:CPXgetnumqpnz, libcplex), Cint, (CPXCENVptr, CPXCLPptr), env, lp) +end + +function CPXgetnumquad(env, lp) + ccall((:CPXgetnumquad, libcplex), Cint, (CPXCENVptr, CPXCLPptr), env, lp) +end + +function CPXgetqpcoef(env, lp, rownum, colnum, coef_p) + ccall((:CPXgetqpcoef, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Cint, Cint, Ptr{Cdouble}), env, lp, rownum, colnum, coef_p) +end + +function CPXgetquad(env, lp, nzcnt_p, qmatbeg, qmatind, qmatval, qmatspace, surplus_p, _begin, _end) + ccall((:CPXgetquad, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Ptr{Cint}, Ptr{Cint}, Ptr{Cint}, Ptr{Cdouble}, Cint, Ptr{Cint}, Cint, Cint), env, lp, nzcnt_p, qmatbeg, qmatind, qmatval, qmatspace, surplus_p, _begin, _end) +end + +function CPXqpindefcertificate(env, lp, x) + ccall((:CPXqpindefcertificate, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Ptr{Cdouble}), env, lp, x) +end + +function CPXqpopt(env, lp) + ccall((:CPXqpopt, libcplex), Cint, (CPXCENVptr, CPXLPptr), env, lp) +end + +function CPXaddqconstr(env, lp, linnzcnt, quadnzcnt, rhs, sense, linind, linval, quadrow, quadcol, quadval, lname_str) + ccall((:CPXaddqconstr, libcplex), Cint, (CPXCENVptr, CPXLPptr, Cint, Cint, Cdouble, Cint, Ptr{Cint}, Ptr{Cdouble}, Ptr{Cint}, Ptr{Cint}, Ptr{Cdouble}, Cstring), env, lp, linnzcnt, quadnzcnt, rhs, sense, linind, linval, quadrow, quadcol, quadval, lname_str) +end + +function CPXdelqconstrs(env, lp, _begin, _end) + ccall((:CPXdelqconstrs, libcplex), Cint, (CPXCENVptr, CPXLPptr, Cint, Cint), env, lp, _begin, _end) +end + +function CPXgetnumqconstrs(env, lp) + ccall((:CPXgetnumqconstrs, libcplex), Cint, (CPXCENVptr, CPXCLPptr), env, lp) +end + +function CPXgetqconstr(env, lp, linnzcnt_p, quadnzcnt_p, rhs_p, sense_p, linind, linval, linspace, linsurplus_p, quadrow, quadcol, quadval, quadspace, quadsurplus_p, which) + ccall((:CPXgetqconstr, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Ptr{Cint}, Ptr{Cint}, Ptr{Cdouble}, Cstring, Ptr{Cint}, Ptr{Cdouble}, Cint, Ptr{Cint}, Ptr{Cint}, Ptr{Cint}, Ptr{Cdouble}, Cint, Ptr{Cint}, Cint), env, lp, linnzcnt_p, quadnzcnt_p, rhs_p, sense_p, linind, linval, linspace, linsurplus_p, quadrow, quadcol, quadval, quadspace, quadsurplus_p, which) +end + +function CPXgetqconstrdslack(env, lp, qind, nz_p, ind, val, space, surplus_p) + ccall((:CPXgetqconstrdslack, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Cint, Ptr{Cint}, Ptr{Cint}, Ptr{Cdouble}, Cint, Ptr{Cint}), env, lp, qind, nz_p, ind, val, space, surplus_p) +end + +function CPXgetqconstrindex(env, lp, lname_str, index_p) + ccall((:CPXgetqconstrindex, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Cstring, Ptr{Cint}), env, lp, lname_str, index_p) +end + +function CPXgetqconstrinfeas(env, lp, x, infeasout, _begin, _end) + ccall((:CPXgetqconstrinfeas, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Ptr{Cdouble}, Ptr{Cdouble}, Cint, Cint), env, lp, x, infeasout, _begin, _end) +end + +function CPXgetqconstrname(env, lp, buf_str, bufspace, surplus_p, which) + ccall((:CPXgetqconstrname, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Cstring, Cint, Ptr{Cint}, Cint), env, lp, buf_str, bufspace, surplus_p, which) +end + +function CPXgetqconstrslack(env, lp, qcslack, _begin, _end) + ccall((:CPXgetqconstrslack, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Ptr{Cdouble}, Cint, Cint), env, lp, qcslack, _begin, _end) +end + +function CPXgetxqxax(env, lp, xqxax, _begin, _end) + ccall((:CPXgetxqxax, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Ptr{Cdouble}, Cint, Cint), env, lp, xqxax, _begin, _end) +end + +function CPXqconstrslackfromx(env, lp, x, qcslack) + ccall((:CPXqconstrslackfromx, libcplex), Cint, (CPXCENVptr, CPXCLPptr, Ptr{Cdouble}, Ptr{Cdouble}), env, lp, x, qcslack) +end