I want to know if the syntaxes bellow are diferent
METHOD 1:var AREA_PAST_Q_OUT, >= 0.00;
var AREA_PAST_Q_NOV, >= 0.00;
var AREA_PAST_Q_DEZ, >= 0.00;
var AREA_PAST_Q_JAN, >= 0.00;
var AREA_PAST_Q_FEV, >= 0.00;
var AREA_PAST_Q_MAR, >= 0.00;
var AREA_PAST_Q_ABR, >= 0.00;
var AREA_PAST_Q_MAI, = 0.00;
var AREA_PAST_Q_JUN, = 0.00;
var AREA_PAST_Q_JUL, = 0.00;
var AREA_PAST_Q_AGO, = 0.00;
var AREA_PAST_Q_SET, = 0.00;
var A_PQ_P, >= 0; # COMMOM VARIABLE
s.t. PASTAGEM_QUENTE_OUT: AREA_PAST_Q_OUT = A_PQ_P;
s.t. PASTAGEM_QUENTE_NOV: AREA_PAST_Q_NOV = A_PQ_P;
s.t. PASTAGEM_QUENTE_DEZ: AREA_PAST_Q_DEZ = A_PQ_P;
s.t. PASTAGEM_QUENTE_JAN: AREA_PAST_Q_JAN = A_PQ_P;
s.t. PASTAGEM_QUENTE_FEV: AREA_PAST_Q_FEV = A_PQ_P;
s.t. PASTAGEM_QUENTE_MAR: AREA_PAST_Q_MAR = A_PQ_P;
s.t. PASTAGEM_QUENTE_ABR: AREA_PAST_Q_ABR = A_PQ_P;
METHOD 2:
set MESES := 1..12;
var AREA_SOJA{MESES};
var A_SJ_P, >= 0.00; # COMMOM VARIABLE
s.t. SOJA_PLANTADA{m in MESES}:
AREA_SOJA[m] = if m in {11,12,1,2,3,4} then A_SJ_P else 0.00;
P.S.: I just changed the month word representation to number representation.
In the fist method the variables are inside a set (I guess) and the the second don't. I had a problem printing using set before, i had to use a small increment for the set values to print the variable value because leads to problem duplicated value in set (see bellow):
set JANEIRO := {
"1", "JANEIRO", "QUENTE",
AREA_SOJA_JAN+0.000000001, AREA_TRIGO_JAN+0.000000002, AREA_PAST_Q_JAN+0.000000003, AREA_PAST_F_JAN+0.000000004, AREA_SILAGEM_JAN+0.000000005,
RACAO_JAN+0.000000006, VACAS_LACTACAO_JAN+0.000000007, VACAS_SECAS_JAN+0.000000008, NOVILHAS_JAN+0.000000009, TERNEIRAS_JAN+0.00000000001
};