help-glpk
[Top][All Lists]
Advanced

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

Re: [Help-glpk] Mixed Integer Programming (MIP) - binary variable


From: Noli Sicad
Subject: Re: [Help-glpk] Mixed Integer Programming (MIP) - binary variable
Date: Tue, 6 Nov 2012 22:09:21 +1100

This is the background of LINDO MIP Model.

"Mixed integer programming forest management problem. Acquire the
Lincoln Tract data, and formulate and solve a mixed integer planning
problem similar to the one described in Section I.A. Assume here that
the landowner is interested in maximizing the net present value of the
plan over the next 15 years (three time periods), yet the harvests
scheduled for the first time period should be applied to whole stands.
As a result, the decision variables associated with harvests in the
first time period should be binary integers. In addition, assume a
minimum harvest age of 35 years (as measured at the beginning of each
time period). Solve the mixed-integer programming problem, and provide
in a memorandum to the landowner the objective function value, the
schedule of harvest volumes, and a map that illustrates where the
first time period harvests will be placed.

Two assumptions need to be made by you to complete this problem: the
stumpage price and the discount rate. Let's assume these two values:
$450 per MBF for the stumpage, and a 5% discount rate.

Stands 6, 38, and 56 are ignored in this analysis since they represent
riparian areas."


Noli

On 11/6/12, Noli Sicad <address@hidden> wrote:
> Hi,
>
> I am trying to translate this MIP problem - LINDO problem (below) into
> MathProg.
> It is timber harvesting scheduling MIP problem. I did convert LINDO LP
> Strategic Forest Estate model to MathProg model. This is a new area
> for me - mixed integer programming model for operational planning.
>
> One area bothering me is the declaration of the binary variable in MIP
> problem.
>
> For example, the variable,
>
> ###
>
> var Harvest { s in STAND, p in PERIOD}, default 0;
>
> ####
>
> Now the binary variable, how do I define it?
>
> ####
>
> var xxxxx {s in STAND, p in PERIOD} binary;
>
> #####
>
> What would be the xxxx?
>
> This var xxxx binary is for Period 1 only, as you see it in the model
> below. How this "var Harvest" and "var xxxx" would be link to each
> other?
>
> I have difficulty converting this LINDO MIP model into CPLEX MIP model
> as well. How do you convert this LINDO MIP model into CPLEX MIP model?
>
>
> Thanks.
>
> Regards, Noli
>
> ################################
>
> Maximize
>   2302296.93 S4P1 + 1880346.75 S4P2 + 1530196.64 S4P3
> + 1181829.81 S5P1 + 1006579.55 S5P2 + 856413.88 S5P3
> + 2594358.61 S15P1 + 2131962.56 S15P2 + 1751801.46 S15P3
> + 138096.38 S17P2 + 153019.58 S17P3
> + 90877.44 S19P3
> + 1132880.85 S23P1 + 1037888.51 S23P2 + 923190.15 S23P3
> + 244772.47 S32P3
> + 445408.12 S34P1 + 491757.11 S34P2 + 497167.18 S34P3
> + 276264.51 S35P2 + 297776.31 S35P3
> + 266732.81 S36P2 + 281685.06 S36P3
> + 332759.58 S46P1 + 344307.80 S46P2 + 336240.27 S46P3
> + 282975.25 S49P1 + 332577.77 S49P2 + 344926.80 S49P3
> + 546298.82 S50P1 + 464983.30 S50P2 + 389779.54 S50P3
> + 169262.38 S51P1 + 182446.16 S51P2 + 181990.26 S51P3
> + 233050.46 S52P2 + 250836.30 S52P3
> + 353264.20 S53P1 + 415187.61 S53P2 + 429032.50 S53P3
> + 447032.22 S57P1 + 480928.92 S57P2 + 480623.75 S57P3
> + 606882.06 S58P1 + 630962.51 S58P2 + 614387.11 S58P3
> + 671556.35 S59P1 + 583820.28 S59P2 + 496772.35 S59P3
> + 243344.93 S60P2 + 275267.77 S60P3
> + 470791.52 S62P1 + 444261.16 S62P2 + 406367.79 S62P3
> + 1096975.65 S63P1 + 966529.72 S63P2 + 833293.50 S63P3
> + 630723.62 S64P1 + 582826.68 S64P2 + 519450.70 S64P3
> + 1055045.97 S65P1 + 976051.81 S65P2 + 878696.08 S65P3
> + 385987.52 S68P1 + 366101.07 S68P2 + 338122.43 S68P3
> + 872967.71 S69P1 + 844377.62 S69P2 + 790953.51 S69P3
> + 1428600.60 S71P1 + 1308568.72 S71P2 + 1163117.91 S71P3
> + 673324.33 S74P1 + 698325.70 S74P2 + 680950.19 S74P3
> + 629243.92 S75P1 + 634455.74 S75P2 + 611002.26 S75P3
> + 57260.24 S76P1 + 56081.12 S76P2 + 52854.78 S76P3
> + 1310629.81 S77P1 + 1116136.32 S77P2 + 949707.16 S77P3
> + 2040932.09 S78P1 + 1662753.75 S78P2 + 1330362.96 S78P3
> + 3919157.33 S79P1 + 3100374.30 S79P2 + 2447785.80 S79P3
> + 939459.80 S80P1 + 839376.88 S80P2 + 732901.60 S80P3
> + 129482.62 S81P1 + 142649.10 S81P2 + 144047.50 S81P3
> + 1026129.37 S82P1 + 965750.53 S82P2 + 885290.98 S82P3
> + 1714348.92 S83P1 + 1409453.16 S83P2 + 1157460.62 S83P3
> + 989891.01 S84P1 + 933393.45 S84P2 + 854969.17 S84P3
> + 2250792.63 S85P1 + 1834018.82 S85P2 + 1484543.95 S85P3
> + 2020282.12 S86P1 + 1755181.33 S86P2 + 1493046.19 S86P3
> + 1437297.62 S87P1 + 1317081.82 S87P2 + 1170720.08 S87P3
> subject to
> 2) S4P1 + S4P2 + S4P3 <= 1
> 3) S5P1 + S5P2 + S5P3 <= 1
> 4) S15P1 + S15P2 + S15P3 <= 1
> 5) S17P2 + S17P3 <= 1
> 6) S19P3 <= 1
> 7) S23P1 + S23P2 + S23P3 <= 1
> 8) S32P3 <= 1
> 9) S34P1 + S34P2 + S34P3 <= 1
> 10) S35P2 + S35P3 <= 1
> 11) S36P2 + S36P3 <= 1
> 12) S46P1 + S46P2 + S46P3 <= 1
> 13) S49P1 + S49P2 + S49P3 <= 1
> 14) S50P1 + S50P2 + S50P3 <= 1
> 15) S51P1 + S51P2 + S51P3 <= 1
> 16) S52P2 + S52P3 <= 1
> 17) S53P1 + S53P2 + S53P3 <= 1
> 18) S57P1 + S57P2 + S57P3 <= 1
> 19) S58P1 + S58P2 + S58P3 <= 1
> 20) S59P1 + S59P2 + S59P3 <= 1
> 21) S60P2 + S60P3 <= 1
> 22) S62P1 + S62P2 + S62P3 <= 1
> 23) S63P1 + S63P2 + S63P3 <= 1
> 24) S64P1 + S64P2 + S64P3 <= 1
> 25) S65P1 + S65P2 + S65P3 <= 1
> 26) S68P1 + S68P2 + S68P3 <= 1
> 27) S69P1 + S69P2 + S69P3 <= 1
> 28) S71P1 + S71P2 + S71P3 <= 1
> 29) S74P1 + S74P2 + S74P3 <= 1
> 30) S75P1 + S75P2 + S75P3 <= 1
> 31) S76P1 + S76P2 + S76P3 <= 1
> 32) S77P1 + S77P2 + S77P3 <= 1
> 33) S78P1 + S78P2 + S78P3 <= 1
> 34) S79P1 + S79P2 + S79P3 <= 1
> 35) S80P1 + S80P2 + S80P3 <= 1
> 36) S81P1 + S81P2 + S81P3 <= 1
> 37) S82P1 + S82P2 + S82P3 <= 1
> 38) S83P1 + S83P2 + S83P3 <= 1
> 39) S84P1 + S84P2 + S84P3 <= 1
> 40) S85P1 + S85P2 + S85P3 <= 1
> 41) S86P1 + S86P2 + S86P3 <= 1
> 42) S87P1 + S87P2 + S87P3 <= 1
> 43) 1181.92 S62P1
> + 2576.10 S82P1
> + 2485.12 S84P1
> + 2648.70 S65P1
> + 1583.43 S64P1
> + 2844.10 S23P1
> + 3586.51 S71P1
> + 3608.34 S87P1
> + 2358.52 S80P1
> + 2753.96 S63P1
> + 1685.94 S59P1
> + 5071.92 S86P1
> + 2966.99 S5P1
> + 3290.34 S77P1
> + 1371.48 S50P1
> + 6513.14 S15P1
> + 4303.88 S83P1
> + 5779.92 S4P1
> + 5650.62 S85P1
> + 5123.77 S78P1
> + 9839.06 S79P1
> + 969.02 S68P1
> + 2191.59 S69P1
> + 143.75 S76P1
> + 1579.72 S75P1
> + 835.39 S46P1
> + 1523.58 S58P1
> + 1690.38 S74P1
> + 1122.28 S57P1
> + 424.93 S51P1
> + 325.07 S81P1
> + 1118.20 S34P1
> + 710.41 S49P1
> + 886.87 S53P1
> - H1 = 0
> 44) 179.69 S76P2
> + 2705.48 S69P2
> + 1173.03 S68P2
> + 1423.46 S62P2
> + 3094.37 S82P2
> + 2990.69 S84P2
> + 3127.38 S65P2
> + 1867.44 S64P2
> + 3325.51 S23P2
> + 4192.80 S71P2
> + 4220.07 S87P2
> + 2689.45 S80P2
> + 3096.87 S63P2
> + 1870.62 S59P2
> + 5623.79 S86P2
> + 3225.19 S5P2
> + 3576.22 S77P2
> + 1489.86 S50P2
> + 6831.04 S15P2
> + 4516.04 S83P2
> + 6024.84 S4P2
> + 5876.40 S85P2
> + 5327.64 S78P2
> + 9933.94 S79P2
> + 2032.87 S75P2
> + 1103.20 S46P2
> + 2014.35 S58P2
> + 2237.51 S74P2
> + 1540.95 S57P2
> + 584.58 S51P2
> + 457.06 S81P2
> + 1575.64 S34P2
> + 1065.62 S49P2
> + 1330.31 S53P2
> + 854.64 S36P2
> + 885.18 S35P2
> + 746.72 S52P2
> + 442.48 S17P2
> + 779.70 S60P2
> - H2 = 0
> 45) 1375.00 S46P3
> + 2512.44 S58P3
> + 2784.64 S74P3
> + 2498.60 S75P3
> + 216.14 S76P3
> + 3234.48 S69P3
> + 1382.70 S68P3
> + 1661.78 S62P3
> + 3620.26 S82P3
> + 3496.26 S84P3
> + 3593.29 S65P3
> + 2124.21 S64P3
> + 3775.24 S23P3
> + 4756.39 S71P3
> + 4787.48 S87P3
> + 2997.09 S80P3
> + 3407.62 S63P3
> + 2031.47 S59P3
> + 6105.58 S86P3
> + 3502.17 S5P3
> + 3883.68 S77P3
> + 1593.94 S50P3
> + 7163.72 S15P3
> + 4733.26 S83P3
> + 6257.50 S4P3
> + 6070.81 S85P3
> + 5440.31 S78P3
> + 10009.84 S79P3
> + 1965.44 S57P3
> + 744.22 S51P3
> + 589.06 S81P3
> + 2033.09 S34P3
> + 1410.52 S49P3
> + 1754.46 S53P3
> + 1151.91 S36P3
> + 1217.71 S35P3
> + 1025.76 S52P3
> + 625.75 S17P3
> + 1125.66 S60P3
> + 371.63 S19P3
> + 1000.96 S32P3
> - H3 = 0
> end
> int S4P1
> int S5P1
> int S15P1
> int S23P1
> int S34P1
> int S46P1
> int S49P1
> int S50P1
> int S51P1
> int S53P1
> int S57P1
> int S58P1
> int S59P1
> int S62P1
> int S63P1
> int S64P1
> int S65P1
> int S68P1
> int S69P1
> int S71P1
> int S74P1
> int S75P1
> int S76P1
> int S77P1
> int S78P1
> int S79P1
> int S80P1
> int S81P1
> int S82P1
> int S83P1
> int S84P1
> int S85P1
> int S86P1
> int S87P1
>



reply via email to

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