package lp-glpk
LP and MIP modeling in OCaml (GLPK interface)
Install
Dune Dependency
Authors
Maintainers
Sources
0.5.0.tar.gz
md5=5e9ec847f25fb939b3c68ae99244cfac
sha512=336c007cc2a26eebbe0027ed43a853518182589e6fa56b127aee33e268cfdc0d147f0bf0280df80bb172aa3a672349f59adf1f5675d4f8f5dfdcfa427558dd34
doc/src/lp-glpk.bindings/lp_glpk_bindings.ml.html
Source file lp_glpk_bindings.ml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132
open Ctypes module T = Lp_glpk_types.M module M (F : Ctypes.FOREIGN) = struct open F let set_term_out = foreign "glp_term_out" (T.BoolInt.t @-> returning void) type prob = unit ptr let prob : prob typ = ptr void let create_prob = foreign "glp_create_prob" (void @-> returning prob) let delete_prob = foreign "glp_delete_prob" (prob @-> returning void) let set_prob_name = foreign "glp_set_prob_name" (prob @-> string @-> returning void) let get_prob_name = foreign "glp_get_prob_name" (prob @-> returning string) let set_obj_dir = foreign "glp_set_obj_dir" (prob @-> T.Dir.t @-> returning void) let get_obj_dir = foreign "glp_get_obj_dir" (prob @-> returning T.Dir.t) let add_rows = foreign "glp_add_rows" (prob @-> int @-> returning int) let add_cols = foreign "glp_add_cols" (prob @-> int @-> returning int) let set_row_name = foreign "glp_set_row_name" (prob @-> int @-> string @-> returning void) let get_row_name = foreign "glp_get_row_name" (prob @-> int @-> returning string) let set_col_name = foreign "glp_set_col_name" (prob @-> int @-> string @-> returning void) let get_col_name = foreign "glp_get_col_name" (prob @-> int @-> returning string) (** set_row_bnds [prob] [i] [bnd] [lb] [ub] sets bounds of i-th row (constraint). If the row is not lower (upper) bounded, lb (ub) is just ignored. If the row is equality constraint (Bnd.FX), only [lb] is used and [ub] is ignored. *) let set_row_bnds = foreign "glp_set_row_bnds" (prob @-> int @-> T.Bnd.t @-> double @-> double @-> returning void) (** set_col_bnds [prob] [j] [bnd] [lb] [ub] sets bounds of j-th col (variable). If the col is not lower (upper) bounded, lb (ub) is just ignored. If the col is equality constraint (Bnd.FX), only [lb] is used and [ub] is ignored. *) let set_col_bnds = foreign "glp_set_col_bnds" (prob @-> int @-> T.Bnd.t @-> double @-> double @-> returning void) (** set_obj_coef [prob] [j] sets the objective coefficient at j-th col (variable) *) let set_obj_coef = foreign "glp_set_obj_coef" (prob @-> int @-> double @-> returning void) (** set_mat_row [prob] [i] [len] [indices] [vals] sets the i-th row of constraint matrix. *) let set_mat_row = foreign "glp_set_mat_row" (prob @-> int @-> int @-> ptr void @-> ptr void @-> returning void) (** set_mat_col [prob] [j] [len] [indices] [vals] sets the j-th column of constraint matrix. *) let set_mat_col = foreign "glp_set_mat_col" (prob @-> int @-> int @-> ptr void @-> ptr void @-> returning void) (** load_matrix [prob] [ne] [ia] [ja] [ar] sets the constraint matrix. The matrix is represented as an sparce matrix. for k=1 .. [ne], value [ar][k] is set at ([ia][k], [ja][k]) element. *) let load_matrix = foreign "glp_load_matrix" (prob @-> int @-> ptr void @-> ptr void @-> ptr void @-> returning void) let set_col_kind = foreign "glp_set_col_kind" (prob @-> int @-> T.Vt.t @-> returning void) let get_col_kind = foreign "glp_get_col_kind" (prob @-> int @-> returning T.Vt.t) let get_num_rows = foreign "glp_get_num_rows" (prob @-> returning int) let get_num_cols = foreign "glp_get_num_cols" (prob @-> returning int) let get_num_nz = foreign "glp_get_num_nz" (prob @-> returning int) let get_num_int = foreign "glp_get_num_int" (prob @-> returning int) let get_num_bin = foreign "glp_get_num_bin" (prob @-> returning int) let init_smcp = foreign "glp_init_smcp" (ptr T.Smcp.t @-> returning void) let init_iocp = foreign "glp_init_iocp" (ptr T.Iocp.t @-> returning void) let simplex = foreign "glp_simplex" (prob @-> ptr T.Smcp.t @-> returning T.SimplexReturn.t) let intopt = foreign "glp_intopt" (prob @-> ptr T.Iocp.t @-> returning T.IntoptReturn.t) let get_status = foreign "glp_get_status" (prob @-> returning T.Stat.t) let mip_status = foreign "glp_mip_status" (prob @-> returning T.Stat.t) let get_obj_val = foreign "glp_get_obj_val" (prob @-> returning double) let mip_obj_val = foreign "glp_mip_obj_val" (prob @-> returning double) let get_row_prim = foreign "glp_get_row_prim" (prob @-> int @-> returning double) let get_row_dual = foreign "glp_get_row_dual" (prob @-> int @-> returning double) let mip_row_val = foreign "glp_mip_row_val" (prob @-> int @-> returning double) let get_col_prim = foreign "glp_get_col_prim" (prob @-> int @-> returning double) let get_col_dual = foreign "glp_get_col_dual" (prob @-> int @-> returning double) let mip_col_val = foreign "glp_mip_col_val" (prob @-> int @-> returning double) end
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>