lpdemo
// Script to demonstrate use of the lp_solve toolkit
>load lpsolve
Start the LPSOLVE DLL.
Provilde lpsolve by Notebaert.
This file is not loaded by Euler automatically. However, ilpsolve() is
available in lpsimplex.e, and it will start the LPSOLVE DLL.
>lp=eulpsolve("make_lp",0,4);
>eulpsolve("set_verbose", lp, 3);
>eulpsolve("add_constraint",lp,[3, 2, 2, 1],3,4);
>eulpsolve("add_constraint",lp,[0, 4, 3, 1],2,3);
>eulpsolve("set_obj_fn",lp,[2, 3, -2, 3]);
>result=eulpsolve("solve",lp)
0
>obj=eulpsolve("get_objective", lp)
-4
>x=eulpsolve("get_variables", lp)
0
0
2
0
>eulpsolve("set_mat",lp,2,1,0.5);
>eulpsolve("set_maxim",lp);
>result=eulpsolve("solve",lp)
0
>obj=eulpsolve("get_objective", lp)
12
>x=eulpsolve("get_variables", lp)
0
0
0
4
>eulpsolve("set_rh",lp,1,7.45);
>result=eulpsolve("solve",lp)
0
>obj=eulpsolve("get_objective", lp)
22.35
>x=eulpsolve("get_variables", lp)
0
0
0
7.45
>eulpsolve("set_int",lp,4,1)
[ 1 ]
>result=eulpsolve("solve",lp)
0
>obj=eulpsolve("get_objective", lp)
21.675
>x=eulpsolve("get_variables", lp)
0
0.225
0
7
>eulpsolve("set_lowbo",lp,2,2);
>eulpsolve("set_upbo",lp,4,5.3);
>result=eulpsolve("solve",lp)
0
>obj=eulpsolve("get_objective", lp)
15.675
>x=eulpsolve("get_variables", lp)
0
2.225
0
3
>eulpsolve("del_constraint",lp,1);
>eulpsolve("add_constraint",lp,[1, 2, 1, 4],3,8);
>result=eulpsolve("solve",lp)
0
>obj=eulpsolve("get_objective", lp)
14
>x=eulpsolve("get_variables", lp)
4
2
0
0
>eulpsolve("delete_lp",lp)
Empty matrix of size 0x0
>lp=eulpsolve("make_lp",2,2);
>eulpsolve("set_verbose", lp, 3);
>eulpsolve("set_mat",lp,[2, 1;-4, 4]);
>eulpsolve("set_obj_fn",lp,[-1, 2]);
>eulpsolve("set_int",lp,[1,1]);
>eulpsolve("set_rh_vec",lp,[5, 5]);
>eulpsolve("set_maxim",lp);
>result=eulpsolve("solve",lp)
0
>obj=eulpsolve("get_objective", lp)
3
>x=eulpsolve("get_variables", lp)
1
2
>eulpsolve("delete_lp",lp);
>f = [50, 100];
>A = [10, 5;4, 10; 1, 1.5];
>b = [2500, 2000, 450];
>e = [-1, -1, -1];
>m = rows(A);
>n = cols(A);
>lp=eulpsolve("make_lp",m,n);
>eulpsolve("set_verbose", lp, 3);
>eulpsolve("set_obj_fn",lp,f);
>eulpsolve("set_mat",lp,A);
>eulpsolve("set_rh_vec",lp,b);
>eulpsolve("set_maxim",lp);
>result=eulpsolve("solve",lp)
0
>obj=eulpsolve("get_objective", lp)
21875
>x=eulpsolve("get_variables", lp)
187.5
125
>eulpsolve("delete_lp",lp);
>f = -[40, 36];
>vub = [8, 10];
>A = [5, 3];
>b = [45];
>e = 1;
>m = rows(A);
>n = cols(A);
>lp=eulpsolve("make_lp",m,n);
>eulpsolve("set_verbose", lp, 3);
>eulpsolve("set_obj_fn",lp,f);
>eulpsolve("set_mat",lp,A);
>eulpsolve("set_rh_vec",lp,b);
>eulpsolve("set_constr_type",lp,1,2);
>eulpsolve("set_upbo",lp,1,8);
>eulpsolve("set_upbo",lp,2,10);
>eulpsolve("set_maxim",lp);
>result=eulpsolve("solve",lp)
0
>obj=eulpsolve("get_objective", lp)
-380
>x=eulpsolve("get_variables", lp)
8
1.66666666667
>eulpsolve("delete_lp",lp);