Dear all, I am trying to use Eplex with a piecewise linear function. My intention was to use Special Order Sets (SOS), but I am probably misunderstanding how I can use them. My first attempt was to use piecewise_linear_hull/3: go(X,Y,V):- X :: 0..10, Y :: 0..10, piecewise_linear_hull(X, [(0,2), (1,2), (3,1), (10,10)], Y), optimize(min(Y), V). [eclipse 2]: go(X,Y,V). Eplex warning: Imposing integer bounds on variable(s) X for eplex instance eplex does not impose integer type. Eplex warning: Imposing integer bounds on variable(s) Y for eplex instance eplex does not impose integer type. WARNING: module 'eplex_relax' does not exist, loading library... No (0.08s cpu) So, maybe I am misunderstanding what is passed to the MILP solver; I try to save the model in an mps file: go:- eplex_solver_setup(min(Y)), X :: 0..10, Y :: 0..10, piecewise_linear_hull(X, [(0,0), (1,2), (3,3)], Y), eplex_write(mps,'piece.mps'). and I get the file: ------------------------------------------------ NAME eclipse ROWS N obj COLUMNS x1 obj 1 x2 obj 0 RHS BOUNDS UP bnd x1 10 UP bnd x2 10 ENDATA ------------------------------------------------ but there is no SOS section. But, maybe I can create an MPS file without SOS, add myself an SOS section, and then explicitly load the MPS from the MILP solver. Of course, in a large project I cannot find which variables should be in an SOS if they are named x1, x2, ... Looking at the manual page for eplex_set/2, I find the use_var_names option. So I try :- lib(var_name). go2(X,Y):- eplex_solver_setup(min(Y)), eplex_set(use_var_names,yes), X :: 0..10, set_var_name(X,"X"), Y :: 0..10, set_var_name(Y,"Y"), eplex_write(mps,'piece.mps'). I get the warning [eclipse 10]: go2(X,Y). Default column names x1, x2 ... being created. X = X#0{0.0 .. 10.0} Y = Y#0{0.0 .. 10.0} Yes (0.00s cpu) and, in fact, the piece.mps file has not changed. What am I doing wrong? Thank you in advance, Marco -- Marco Gavanelli, Ph.D. in Computer Science Dept of Engineering University of Ferrara Tel/Fax +39-0532-97-4833 http://www.ing.unife.it/docenti/MarcoGavanelli/Received on Wed Aug 04 2010 - 20:13:54 CEST
This archive was generated by hypermail 2.2.0 : Thu Feb 02 2012 - 02:31:58 CET