help-glpk
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Help-glpk] [Fwd: GLPK packet]


From: Heinrich Schuchardt
Subject: Re: [Help-glpk] [Fwd: GLPK packet]
Date: Thu, 29 Oct 2015 20:09:30 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Icedove/31.8.0

Hello Fernando,

the API of GLPK is described in doc/glpk.pdf of the GLPK source which is
available at
http://ftp.gnu.org/gnu/glpk/glpk-4.56.tar.gz

The function to retrieve column values
(i.e. the values of the variables)
of a mixed integer model
(after solving the problem with glp_intopt)
is glp_mip_col_val.

Best regards

Heinrich Schuchardt

On 29.10.2015 10:18, Andrew Makhorin wrote:
> -------- Forwarded Message --------
> From: Fernando Garcia <address@hidden>
> To: address@hidden
> Subject: GLPK packet
> Date: Thu, 29 Oct 2015 09:48:34 +0100
> 
> Good morning,
> 
> 
> My name is Fernando Garcia. First at all, congratulations for the
> development of this solver.
> 
> 
> I have one doubt with the use of the packet "glpk.h" in C++. I want to
> solve a problem that is included in "2_Node_Example_Investment_MIP2.lp"
> and then show in the screen the value of the variables obtained. My
> variables are of the type
> "z_init(G1.c1.ss1)","z_init(G2.c1.ss1)","z_init(G1.c1.ss3)", etc, so I
> created this small c++ file:
> 
> 
> 
> 
> #define _GNU_SOURCE
> #include <string.h> 
> #include <stdio.h>
> #include <stdlib.h>
> #include <omp.h> 
> #include <glpk.h>
> #include <math.h>
> 
> 
> #define G 6 
> #define c 1
> #define ss 3
> int main(int argc, char** argv)
> {
>   
> 
> 
> 
> 
> int n,i,i1,i2,i3;
> int j,j1,j2;
> char buffer [50];
> int state[G][c][ss];
> int status3;
> double z3;
> int x;
> 
> 
> 
> 
> 
> 
> int err;
>  
> 
> 
> glp_prob *lp3;
> 
> 
> lp3 = glp_create_prob();
> glp_read_lp(lp3,0,"2_Node_Example_Investment_MIP2.lp");
> glp_create_index(lp3);
> 
> 
> glp_iocp parm3;
>   
>  
> //Solving the problem
> glp_init_iocp(&parm3);
> parm3.presolve = GLP_ON;
> err = glp_intopt(lp3, &parm3);
> 
> 
> for (i1=0; i1 < G; i1++)
>   for (i2=0; i2 < c; i2++)
>      for (i3=0; i3 < ss; i3++){
>       sprintf (buffer, "z_init(G%d.c%d.ss%d)", i1+1,i2+1,i3+1);
>       j1=glp_find_col(lp3, buffer);
>       glp_set_col_bnds(lp3, j1, GLP_FX, state[i1][i2][i3], 0);
>   
>   
>       
>    }
> 
> 
>  
> 
> 
> z3 = glp_mip_obj_val(lp3);
> status3 = glp_mip_status(lp3);
> 
> 
>   
> printf("print:LinearNE3 status:%d\n",status3);
>                         
> printf("print:obj:%g\n",z3);
> 
> 
> printf("print:status:%i\n",state);
> 
> 
> printf("print:status:%s\n",buffer);
> 
> 
> printf("print:status:%i\n",j1);
> 
> 
> 
> 
>   
> 
> 
> 
> 
>  return 0;
> }
> 
> 
> I want to save that variables "z_init(G1.c1.ss1)", etc in the parameter
> "state[G][c][ss]". Could you tell me how to do it?
> 
> 
> I was expecting some function in the packet "glpk.h" as "Fix the value
> obtained in the solver into this new parameter", but I couldn't find
> something similar in the manual.
> 
> 
> Thanks for your help,
> 
> 
> Fernando 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]