/* sample.c */ #include #include #include int main(void) { glp_prob *lp; int ia[1+1000], ja[1+1000]; double ar[1+1000], z, x1, x2, x3, x4; lp = glp_create_prob(); glp_set_prob_name(lp, "sample"); glp_set_obj_dir(lp, GLP_MIN); glp_add_rows(lp, 26); glp_set_row_name(lp, 1, "p1"); glp_set_row_bnds(lp, 1, GLP_LO, 88.266386628161, 0); glp_set_row_name(lp, 2, "p2"); glp_set_row_bnds(lp, 2, GLP_UP, 0, 176.53277325632); glp_set_row_name(lp, 3, "p3"); glp_set_row_bnds(lp, 3, GLP_LO, 90, 0); glp_set_row_name(lp, 4, "p4"); glp_set_row_bnds(lp, 4, GLP_UP, 0, 270); glp_set_row_name(lp, 5, "p5"); glp_set_row_bnds(lp, 5, GLP_LO, 24.000010077242, 0); glp_set_row_name(lp, 6, "p6"); glp_set_row_bnds(lp, 6, GLP_UP, 0, 64.000010077242); glp_set_row_name(lp, 7, "p7"); glp_set_row_bnds(lp, 7, GLP_LO, 85.00017143249, 0); glp_set_row_name(lp, 8, "p8"); glp_set_row_bnds(lp, 8, GLP_UP, 0, 170.00017143249); glp_set_row_name(lp, 9, "p9"); glp_set_row_bnds(lp, 9, GLP_LO, 9, 0); glp_set_row_name(lp, 10, "p10"); glp_set_row_bnds(lp, 10, GLP_UP, 0, 9); glp_set_row_name(lp, 11, "p11"); glp_set_row_bnds(lp, 11, GLP_LO, -24750, 0); glp_set_row_name(lp, 12, "p12"); glp_set_row_bnds(lp, 12, GLP_UP, 0, 25250.0); glp_set_row_name(lp, 13, "p13"); glp_set_row_bnds(lp, 13, GLP_LO, -2475, 0); glp_set_row_name(lp, 14, "p14"); glp_set_row_bnds(lp, 14, GLP_UP, 0, 2525); glp_set_row_name(lp, 15, "p15"); glp_set_row_bnds(lp, 15, GLP_LO, -12375, 0); glp_set_row_name(lp, 16, "p16"); glp_set_row_bnds(lp, 16, GLP_UP, 0, 12625); glp_set_row_name(lp, 17, "p17"); glp_set_row_bnds(lp, 17, GLP_LO, -9900, 0); glp_set_row_name(lp, 18, "p18"); glp_set_row_bnds(lp, 18, GLP_UP, 0, 10100); glp_set_row_name(lp, 19, "p19"); glp_set_row_bnds(lp, 19, GLP_LO, 250, 0); glp_set_row_name(lp, 20, "p20"); glp_set_row_bnds(lp, 20, GLP_UP, 0, 250); glp_set_row_name(lp, 21, "p21"); glp_set_row_bnds(lp, 21, GLP_LO, 25, 0); glp_set_row_name(lp, 22, "p22"); glp_set_row_bnds(lp, 22, GLP_UP, 0, 25); glp_set_row_name(lp, 23, "p23"); glp_set_row_bnds(lp, 23, GLP_LO, 125, 0); glp_set_row_name(lp, 24, "p24"); glp_set_row_bnds(lp, 24, GLP_UP, 0, 125); glp_set_row_name(lp, 25, "p25"); glp_set_row_bnds(lp, 25, GLP_LO, 100, 0); glp_set_row_name(lp, 26, "p26"); glp_set_row_bnds(lp, 26, GLP_UP, 0, 100.0); glp_add_cols(lp, 9); glp_set_col_name(lp, 1, "x1"); glp_set_obj_coef(lp, 1, 0.0); glp_set_col_name(lp, 2, "x2"); glp_set_obj_coef(lp, 2, 0.0); glp_set_col_name(lp, 3, "x3"); glp_set_obj_coef(lp, 3, 0.0); glp_set_col_name(lp, 4, "x4"); glp_set_obj_coef(lp, 4, 0.0); glp_set_col_name(lp, 5, "x5"); glp_set_obj_coef(lp, 5, 0.0); glp_set_col_name(lp, 6, "x6"); glp_set_obj_coef(lp, 6, 1.0); glp_set_col_name(lp, 7, "x7"); glp_set_obj_coef(lp, 7, 1.0); glp_set_col_name(lp, 8, "x8"); glp_set_obj_coef(lp, 8, 1.0); glp_set_col_name(lp, 9, "x9"); glp_set_obj_coef(lp, 9, 1.0); ia[1]=1.0, ja[1]=1.0, ar[1]=1; ia[2]=1.0, ja[2]=2.0, ar[2]=0; ia[3]=1.0, ja[3]=3.0, ar[3]=0; ia[4]=1.0, ja[4]=4.0, ar[4]=0; ia[5]=1.0, ja[5]=5.0, ar[5]=0; ia[6]=1.0, ja[6]=6.0, ar[6]=0; ia[7]=1.0, ja[7]=7.0, ar[7]=0; ia[8]=1.0, ja[8]=8.0, ar[8]=0; ia[9]=1.0, ja[9]=9.0, ar[9]=0; ia[10]=2.0, ja[10]=1.0, ar[10]=1; ia[11]=2.0, ja[11]=2.0, ar[11]=0; ia[12]=2.0, ja[12]=3.0, ar[12]=0; ia[13]=2.0, ja[13]=4.0, ar[13]=0; ia[14]=2.0, ja[14]=5.0, ar[14]=0; ia[15]=2.0, ja[15]=6.0, ar[15]=0; ia[16]=2.0, ja[16]=7.0, ar[16]=0; ia[17]=2.0, ja[17]=8.0, ar[17]=0; ia[18]=2.0, ja[18]=9.0, ar[18]=0; ia[19]=3.0, ja[19]=1.0, ar[19]=0; ia[20]=3.0, ja[20]=2.0, ar[20]=1; ia[21]=3.0, ja[21]=3.0, ar[21]=0; ia[22]=3.0, ja[22]=4.0, ar[22]=0; ia[23]=3.0, ja[23]=5.0, ar[23]=0; ia[24]=3.0, ja[24]=6.0, ar[24]=0; ia[25]=3.0, ja[25]=7.0, ar[25]=0; ia[26]=3.0, ja[26]=8.0, ar[26]=0; ia[27]=3.0, ja[27]=9.0, ar[27]=0; ia[28]=4.0, ja[28]=1.0, ar[28]=0; ia[29]=4.0, ja[29]=2.0, ar[29]=1; ia[30]=4.0, ja[30]=3.0, ar[30]=0; ia[31]=4.0, ja[31]=4.0, ar[31]=0; ia[32]=4.0, ja[32]=5.0, ar[32]=0; ia[33]=4.0, ja[33]=6.0, ar[33]=0; ia[34]=4.0, ja[34]=7.0, ar[34]=0; ia[35]=4.0, ja[35]=8.0, ar[35]=0; ia[36]=4.0, ja[36]=9.0, ar[36]=0; ia[37]=5.0, ja[37]=1.0, ar[37]=0; ia[38]=5.0, ja[38]=2.0, ar[38]=0; ia[39]=5.0, ja[39]=3.0, ar[39]=1; ia[40]=5.0, ja[40]=4.0, ar[40]=0; ia[41]=5.0, ja[41]=5.0, ar[41]=0; ia[42]=5.0, ja[42]=6.0, ar[42]=0; ia[43]=5.0, ja[43]=7.0, ar[43]=0; ia[44]=5.0, ja[44]=8.0, ar[44]=0; ia[45]=5.0, ja[45]=9.0, ar[45]=0; ia[46]=6.0, ja[46]=1.0, ar[46]=0; ia[47]=6.0, ja[47]=2.0, ar[47]=0; ia[48]=6.0, ja[48]=3.0, ar[48]=1; ia[49]=6.0, ja[49]=4.0, ar[49]=0; ia[50]=6.0, ja[50]=5.0, ar[50]=0; ia[51]=6.0, ja[51]=6.0, ar[51]=0; ia[52]=6.0, ja[52]=7.0, ar[52]=0; ia[53]=6.0, ja[53]=8.0, ar[53]=0; ia[54]=6.0, ja[54]=9.0, ar[54]=0; ia[55]=7.0, ja[55]=1.0, ar[55]=0; ia[56]=7.0, ja[56]=2.0, ar[56]=0; ia[57]=7.0, ja[57]=3.0, ar[57]=0; ia[58]=7.0, ja[58]=4.0, ar[58]=1; ia[59]=7.0, ja[59]=5.0, ar[59]=0; ia[60]=7.0, ja[60]=6.0, ar[60]=0; ia[61]=7.0, ja[61]=7.0, ar[61]=0; ia[62]=7.0, ja[62]=8.0, ar[62]=0; ia[63]=7.0, ja[63]=9.0, ar[63]=0; ia[64]=8.0, ja[64]=1.0, ar[64]=0; ia[65]=8.0, ja[65]=2.0, ar[65]=0; ia[66]=8.0, ja[66]=3.0, ar[66]=0; ia[67]=8.0, ja[67]=4.0, ar[67]=1; ia[68]=8.0, ja[68]=5.0, ar[68]=0; ia[69]=8.0, ja[69]=6.0, ar[69]=0; ia[70]=8.0, ja[70]=7.0, ar[70]=0; ia[71]=8.0, ja[71]=8.0, ar[71]=0; ia[72]=8.0, ja[72]=9.0, ar[72]=0; ia[73]=9.0, ja[73]=1.0, ar[73]=0; ia[74]=9.0, ja[74]=2.0, ar[74]=0; ia[75]=9.0, ja[75]=3.0, ar[75]=0; ia[76]=9.0, ja[76]=4.0, ar[76]=0; ia[77]=9.0, ja[77]=5.0, ar[77]=1; ia[78]=9.0, ja[78]=6.0, ar[78]=0; ia[79]=9.0, ja[79]=7.0, ar[79]=0; ia[80]=9.0, ja[80]=8.0, ar[80]=0; ia[81]=9.0, ja[81]=9.0, ar[81]=0; ia[82]=10.0, ja[82]=1.0, ar[82]=0; ia[83]=10.0, ja[83]=2.0, ar[83]=0; ia[84]=10.0, ja[84]=3.0, ar[84]=0; ia[85]=10.0, ja[85]=4.0, ar[85]=0; ia[86]=10.0, ja[86]=5.0, ar[86]=1; ia[87]=10.0, ja[87]=6.0, ar[87]=0; ia[88]=10.0, ja[88]=7.0, ar[88]=0; ia[89]=10.0, ja[89]=8.0, ar[89]=0; ia[90]=10.0, ja[90]=9.0, ar[90]=0; ia[91]=11.0, ja[91]=1.0, ar[91]=1.1427; ia[92]=11.0, ja[92]=2.0, ar[92]=1.0501; ia[93]=11.0, ja[93]=3.0, ar[93]=3.96934; ia[94]=11.0, ja[94]=4.0, ar[94]=0.58332; ia[95]=11.0, ja[95]=5.0, ar[95]=3.321; ia[96]=11.0, ja[96]=6.0, ar[96]=0; ia[97]=11.0, ja[97]=7.0, ar[97]=0; ia[98]=11.0, ja[98]=8.0, ar[98]=0; ia[99]=11.0, ja[99]=9.0, ar[99]=0; ia[100]=12.0, ja[100]=1.0, ar[100]=1.1427; ia[101]=12.0, ja[101]=2.0, ar[101]=1.0501; ia[102]=12.0, ja[102]=3.0, ar[102]=3.96934; ia[103]=12.0, ja[103]=4.0, ar[103]=0.58332; ia[104]=12.0, ja[104]=5.0, ar[104]=3.321; ia[105]=12.0, ja[105]=6.0, ar[105]=0; ia[106]=12.0, ja[106]=7.0, ar[106]=0; ia[107]=12.0, ja[107]=8.0, ar[107]=0; ia[108]=12.0, ja[108]=9.0, ar[108]=0; ia[109]=13.0, ja[109]=1.0, ar[109]=0.2325; ia[110]=13.0, ja[110]=2.0, ar[110]=0.6975; ia[111]=13.0, ja[111]=3.0, ar[111]=0.63891; ia[112]=13.0, ja[112]=4.0, ar[112]=0.0372; ia[113]=13.0, ja[113]=5.0, ar[113]=0; ia[114]=13.0, ja[114]=6.0, ar[114]=0; ia[115]=13.0, ja[115]=7.0, ar[115]=0; ia[116]=13.0, ja[116]=8.0, ar[116]=0; ia[117]=13.0, ja[117]=9.0, ar[117]=0; ia[118]=14.0, ja[118]=1.0, ar[118]=0.2325; ia[119]=14.0, ja[119]=2.0, ar[119]=0.6975; ia[120]=14.0, ja[120]=3.0, ar[120]=0.63891; ia[121]=14.0, ja[121]=4.0, ar[121]=0.0372; ia[122]=14.0, ja[122]=5.0, ar[122]=0; ia[123]=14.0, ja[123]=6.0, ar[123]=0; ia[124]=14.0, ja[124]=7.0, ar[124]=0; ia[125]=14.0, ja[125]=8.0, ar[125]=0; ia[126]=14.0, ja[126]=9.0, ar[126]=0; ia[127]=15.0, ja[127]=1.0, ar[127]=0.1722; ia[128]=15.0, ja[128]=2.0, ar[128]=0.2009; ia[129]=15.0, ja[129]=3.0, ar[129]=2.79169; ia[130]=15.0, ja[130]=4.0, ar[130]=0.53095; ia[131]=15.0, ja[131]=5.0, ar[131]=3.321; ia[132]=15.0, ja[132]=6.0, ar[132]=0; ia[133]=15.0, ja[133]=7.0, ar[133]=0; ia[134]=15.0, ja[134]=8.0, ar[134]=0; ia[135]=15.0, ja[135]=9.0, ar[135]=0; ia[136]=16.0, ja[136]=1.0, ar[136]=0.1722; ia[137]=16.0, ja[137]=2.0, ar[137]=0.2009; ia[138]=16.0, ja[138]=3.0, ar[138]=2.79169; ia[139]=16.0, ja[139]=4.0, ar[139]=0.53095; ia[140]=16.0, ja[140]=5.0, ar[140]=3.321; ia[141]=16.0, ja[141]=6.0, ar[141]=0; ia[142]=16.0, ja[142]=7.0, ar[142]=0; ia[143]=16.0, ja[143]=8.0, ar[143]=0; ia[144]=16.0, ja[144]=9.0, ar[144]=0; ia[145]=17.0, ja[145]=1.0, ar[145]=0.738; ia[146]=17.0, ja[146]=2.0, ar[146]=0.1517; ia[147]=17.0, ja[147]=3.0, ar[147]=0.53874; ia[148]=17.0, ja[148]=4.0, ar[148]=0.01517; ia[149]=17.0, ja[149]=5.0, ar[149]=0; ia[150]=17.0, ja[150]=6.0, ar[150]=0; ia[151]=17.0, ja[151]=7.0, ar[151]=0; ia[152]=17.0, ja[152]=8.0, ar[152]=0; ia[153]=17.0, ja[153]=9.0, ar[153]=0; ia[154]=18.0, ja[154]=1.0, ar[154]=0.738; ia[155]=18.0, ja[155]=2.0, ar[155]=0.1517; ia[156]=18.0, ja[156]=3.0, ar[156]=0.53874; ia[157]=18.0, ja[157]=4.0, ar[157]=0.01517; ia[158]=18.0, ja[158]=5.0, ar[158]=0; ia[159]=18.0, ja[159]=6.0, ar[159]=0; ia[160]=18.0, ja[160]=7.0, ar[160]=0; ia[161]=18.0, ja[161]=8.0, ar[161]=0; ia[162]=18.0, ja[162]=9.0, ar[162]=0; ia[163]=19.0, ja[163]=1.0, ar[163]=1.1427; ia[164]=19.0, ja[164]=2.0, ar[164]=1.0501; ia[165]=19.0, ja[165]=3.0, ar[165]=3.96934; ia[166]=19.0, ja[166]=4.0, ar[166]=0.58332; ia[167]=19.0, ja[167]=5.0, ar[167]=3.321; ia[168]=19.0, ja[168]=6.0, ar[168]=1; ia[169]=19.0, ja[169]=7.0, ar[169]=0; ia[170]=19.0, ja[170]=8.0, ar[170]=0; ia[171]=19.0, ja[171]=9.0, ar[171]=0; ia[172]=20.0, ja[172]=1.0, ar[172]=1.1427; ia[173]=20.0, ja[173]=2.0, ar[173]=1.0501; ia[174]=20.0, ja[174]=3.0, ar[174]=3.96934; ia[175]=20.0, ja[175]=4.0, ar[175]=0.58332; ia[176]=20.0, ja[176]=5.0, ar[176]=3.321; ia[177]=20.0, ja[177]=6.0, ar[177]=-1; ia[178]=20.0, ja[178]=7.0, ar[178]=0; ia[179]=20.0, ja[179]=8.0, ar[179]=0; ia[180]=20.0, ja[180]=9.0, ar[180]=0; ia[181]=21.0, ja[181]=1.0, ar[181]=0.2325; ia[182]=21.0, ja[182]=2.0, ar[182]=0.6975; ia[183]=21.0, ja[183]=3.0, ar[183]=0.63891; ia[184]=21.0, ja[184]=4.0, ar[184]=0.0372; ia[185]=21.0, ja[185]=5.0, ar[185]=0; ia[186]=21.0, ja[186]=6.0, ar[186]=0; ia[187]=21.0, ja[187]=7.0, ar[187]=1; ia[188]=21.0, ja[188]=8.0, ar[188]=0; ia[189]=21.0, ja[189]=9.0, ar[189]=0; ia[190]=22.0, ja[190]=1.0, ar[190]=0.2325; ia[191]=22.0, ja[191]=2.0, ar[191]=0.6975; ia[192]=22.0, ja[192]=3.0, ar[192]=0.63891; ia[193]=22.0, ja[193]=4.0, ar[193]=0.0372; ia[194]=22.0, ja[194]=5.0, ar[194]=0; ia[195]=22.0, ja[195]=6.0, ar[195]=0; ia[196]=22.0, ja[196]=7.0, ar[196]=-1; ia[197]=22.0, ja[197]=8.0, ar[197]=0; ia[198]=22.0, ja[198]=9.0, ar[198]=0; ia[199]=23.0, ja[199]=1.0, ar[199]=0.1722; ia[200]=23.0, ja[200]=2.0, ar[200]=0.2009; ia[201]=23.0, ja[201]=3.0, ar[201]=2.79169; ia[202]=23.0, ja[202]=4.0, ar[202]=0.53095; ia[203]=23.0, ja[203]=5.0, ar[203]=3.321; ia[204]=23.0, ja[204]=6.0, ar[204]=0; ia[205]=23.0, ja[205]=7.0, ar[205]=0; ia[206]=23.0, ja[206]=8.0, ar[206]=1; ia[207]=23.0, ja[207]=9.0, ar[207]=0; ia[208]=24.0, ja[208]=1.0, ar[208]=0.1722; ia[209]=24.0, ja[209]=2.0, ar[209]=0.2009; ia[210]=24.0, ja[210]=3.0, ar[210]=2.79169; ia[211]=24.0, ja[211]=4.0, ar[211]=0.53095; ia[212]=24.0, ja[212]=5.0, ar[212]=3.321; ia[213]=24.0, ja[213]=6.0, ar[213]=0; ia[214]=24.0, ja[214]=7.0, ar[214]=0; ia[215]=24.0, ja[215]=8.0, ar[215]=-1; ia[216]=24.0, ja[216]=9.0, ar[216]=0; ia[217]=25.0, ja[217]=1.0, ar[217]=0.738; ia[218]=25.0, ja[218]=2.0, ar[218]=0.1517; ia[219]=25.0, ja[219]=3.0, ar[219]=0.53874; ia[220]=25.0, ja[220]=4.0, ar[220]=0.01517; ia[221]=25.0, ja[221]=5.0, ar[221]=0; ia[222]=25.0, ja[222]=6.0, ar[222]=0; ia[223]=25.0, ja[223]=7.0, ar[223]=0; ia[224]=25.0, ja[224]=8.0, ar[224]=0; ia[225]=25.0, ja[225]=9.0, ar[225]=1; ia[226]=26.0, ja[226]=1.0, ar[226]=0.738; ia[227]=26.0, ja[227]=2.0, ar[227]=0.1517; ia[228]=26.0, ja[228]=3.0, ar[228]=0.53874; ia[229]=26.0, ja[229]=4.0, ar[229]=0.01517; ia[230]=26.0, ja[230]=5.0, ar[230]=0; ia[231]=26.0, ja[231]=6.0, ar[231]=0; ia[232]=26.0, ja[232]=7.0, ar[232]=0; ia[233]=26.0, ja[233]=8.0, ar[233]=0; ia[234]=26.0, ja[234]=9.0, ar[234]=-1; glp_load_matrix(lp, 234, ia, ja, ar); glp_simplex(lp, NULL); z = glp_get_obj_val(lp); x1 = glp_get_col_prim(lp, 1); x2 = glp_get_col_prim(lp, 2); x3 = glp_get_col_prim(lp, 3); x4 = glp_get_col_prim(lp, 4); printf("\nz = %g; x1 = %g; x2 = %g; x3 = %g; x4 = %g\n", z, x1, x2, x3, x4); glp_delete_prob(lp); return 0; } /* eof */