Hello Noli, the model belows will read your input data from a csv file and output it to another csv file with one column per value of period.
Best regards Xypron http://old.nabble.com/file/p27026678/input.csv input.csv http://old.nabble.com/file/p27026678/test.mod test.mod # Read a csv file and output it as another csv file # with generation of columns for each value of # one of the indices. # # output csv f param f,symbolic := "output.csv"; # CROP_ID CROPTYPE Period Ini_Age set S dimen 4; # Period set P := setof{(i,j,k,l) in S} k; # CROP_ID CROPTYPE Ini_Age set Q := setof{(i,j,k,l) in S} (i,j,l); # Area_Cut param a{S}; table tin IN 'CSV' 'input.csv' : S <- [CROP_ID, CROPTYPE, Period, Ini_Age], a~Area_Cut; solve; printf "Writing output to %s\n", f; printf "CROP_ID,CROPTYPE,Ini_Age" > f; for{p in P} printf ",Period_%d", p >> f; printf "\n" >> f; for{(i,j,k) in Q} { printf "%s,%s,%s",i,j,k >> f; for{p in P} printf ",%f", if (i,j,p,k) in S then a[i,j,p,k] else 0 >>f; printf "\n" >>f; } end; input.csv ======= CROP_ID,CROPTYPE,Period,Ini_Age,Area_Cut 83,SORI,1,31,528.2465512 84,SORI,1,32,74.55179899 85,SORI,1,33,72.45778618 86,SORI,1,34,139.5272947 82,SORI,2,28,1.711642933 83,SORI,2,29,2.500000071 84,SORI,2,30,432.5139327 93,SORM,2,35,316.8422545 62,OTRM,3,30,64.60526438 82,SORI,3,27,26.93674606 3,SORM,3,35,223.3658345 82,SORI,4,26,2.500000071 4,SORM,4,34,1008.643 5,OTRI,5,25,32.42603214 5,OTRM,5,29,65.9031344 5,SORM,5,32,223.1489321 5,SORM,5,33,72.59203041 5,SORM,5,35,222.8402746 6,OTRI,6,22,2.499999851 6,OTRI,6,23,3.374626509 6,OTRI,6,24,96.13462257 6,OTRM,6,26,830.7463641 6,OTRM,6,27,731.6228643 6,OTRM,6,28,16.3519762 7,OTRM,7,26,1636.5693 8,OTRM,8,26,553.0050146 9,OTRM,9,26,894.414033 10,OTRM,10,24,38.72597099 10,OTRM,10,25,308.6452707 10,OTRM,10,26,786.1761969 10,SORM,10,31,235.8360136 Noli Sicad wrote: > > Hi, > > I have dealing a lot of manual format of my LP result inorder that I > can use the data for the map purpose. I did to run my LP results into > graphs and maps. I am working on forest management / forest carbon > estate modelling and maps are very important to visualise multi period > results of the LP model. The period that I am running is 1 to 100 > years. > > This is the LP format as output by MathProg. > > From: > set A set B set C param > > > Desired table, > To: > set A set B param set C > > > Sample result and desired table (below) > > How do I do in MathProg? As we know there is transpose (tr.) in Data > section. I hope this can be use in the result sectio as well. But > probably somebody can show me how to do this in MathProg / GMPL. > > Thanks. Noli > > > > ~~~~~~~~ > CROP_ID CROPTYPE Period Ini_Age Area_Cut > 83 SORI 1 31 528.2465512 > 84 SORI 1 32 74.55179899 > 85 SORI 1 33 72.45778618 > 86 SORI 1 34 139.5272947 > 82 SORI 2 28 1.711642933 > 83 SORI 2 29 2.500000071 > 84 SORI 2 30 432.5139327 > 93 SORM 2 35 316.8422545 > 62 OTRM 3 30 64.60526438 > 82 SORI 3 27 26.93674606 > 3 SORM 3 35 223.3658345 > 82 SORI 4 26 2.500000071 > 4 SORM 4 34 1008.643 > 5 OTRI 5 25 32.42603214 > 5 OTRM 5 29 65.9031344 > 5 SORM 5 32 223.1489321 > 5 SORM 5 33 72.59203041 > 5 SORM 5 35 222.8402746 > 6 OTRI 6 22 2.499999851 > 6 OTRI 6 23 3.374626509 > 6 OTRI 6 24 96.13462257 > 6 OTRM 6 26 830.7463641 > 6 OTRM 6 27 731.6228643 > 6 OTRM 6 28 16.3519762 > 7 OTRM 7 26 1636.5693 > 8 OTRM 8 26 553.0050146 > 9 OTRM 9 26 894.414033 > 10 OTRM 10 24 38.72597099 > 10 OTRM 10 25 308.6452707 > 10 OTRM 10 26 786.1761969 > 10 SORM 10 31 235.8360136 > > Desired Table. > Period 1 Period 2 Period 3 Period 4 > Period 5 Period 6 Period > 7 Period 8 Period 9 Period 10 > CROP_ID CROPTYPE > > 83 SORI 31 > > 84 SORI 32 > > 85 SORI 33 > > 86 SORI 34 > > 82 SORI 28 > > 83 SORI 29 > > 84 SORI 30 > > 93 SORM 35 > > 62 OTRM 30 > > 82 SORI 27 > > 3 SORM 35 > > 82 SORI 26 > 4 SORM 34 > 5 OTRI 25 > 5 OTRM 29 > 5 SORM 32 > 5 SORM 33 > 5 SORM 35 > 6 OTRI 22 > 6 OTRI 23 > 6 OTRI 24 > 6 OTRM 26 > 6 OTRM 27 > 6 OTRM 28 > 7 OTRM 26 > 8 OTRM 26 > 9 OTRM > 26 > 10 OTRM > 24 > 10 OTRM > 25 > 10 OTRM > 26 > 10 SORM > 31 > > > _______________________________________________ > Help-glpk mailing list > [email protected] > http://lists.gnu.org/mailman/listinfo/help-glpk > > -- View this message in context: http://old.nabble.com/Transposing-result-table-using-MathProg-tp27023621p27026678.html Sent from the Gnu - GLPK - Help mailing list archive at Nabble.com. _______________________________________________ Help-glpk mailing list [email protected] http://lists.gnu.org/mailman/listinfo/help-glpk
