set I; # secciones set J; # proyectos param cs{I} >= 0; # costo de construir la sección de camino param cp{J} >= 0; # costo de desarrollar un proyecto param m{J} >= 0; # madera de un proyecto param v{J} >= 0; # visitantes esperados de un proyecto param M >= 0; # demanda de madera param V >= 0; # demanda de visitantes var X{J} binary; # si se instala un proyecto var Y{I} binary; # si se instala una seccion minimize costo: sum{i in I} cs[i]*Y[i] + sum{j in J} cp[j]*X[j]; s.t. madera : sum{j in J} m[j]*X[j] >= M; s.t. recreacion : sum{j in J} v[j]*X[j] >= V; s.t. proyectos_secciones_e_1 : X['e'] <= Y[1]; s.t. proyectos_secciones_h_2 : X['h'] <= Y[2]; s.t. proyectos_secciones_t_4 : X['t'] <= Y[4]; s.t. proyectos_secciones_g_5 : X['g'] <= Y[5]; s.t. secciones_secciones_1_2_3 : Y[2] + Y[3] <= 2*Y[1]; s.t. secciones_secciones_3_4_5 : Y[4] + Y[5] <= 2*Y[3]; data; ############ DATA STARTS HERE ############ set I := 1 2 3 4 5; set J := e h t g; param cs := 1 0.8 2 0.4 3 0.3 4 0.2 5 0.4; param cp := e 0.7 g 0.8 h 0.1 t 0.5; param m := e 6 g 10 h 8 t 13; param v := e 1 g 3 h 1 t 2; param M := 17; param V := 2; https://cocoto.github.io/glpk-online/ https://ampl.com/cgi-bin/ampl/amplcgi =========================================================================================== solve; display _varname, _var ===========================================================================================