bintoito
Power Member
Desculpem a imposição, mas já é em desespero de causa...tenho de correr um modelo em mpl (acho que a linguagem é parecida como C.....) de minimização de custos; assumindo que tenho as vars todas necessárias para correr esta porra como resolver o erro que me dá ao verificar a syntax que é o seguinte:
The index 'gerador' in vector 'Geradores' is not specified
in the underlying index list. - isto é relativo à linha 84 (a amarelo)
TITLE EnergyCost;
INDEX
gerador := (G1, G2, G3) ;
procura := (Pro1, Pro2, Pro3, Pro4, Pro5) ;
periodo := (P1, P2, P3, P4, P5) circular;
DATA
ProcuraDia[procura] := (14500, 33000, 25500, 43500, 28500);
Custoarranque[gerador] := (2000, 1000, 650);
UniDisponiveis[gerador]:= (14,11,7);
NivelMinimoMW[gerador]:= (850, 1250, 1500);
NivelMaximoMW[gerador]:= (2000, 1750, 4000);
CustoNivMinimo[gerador]:= (1000, 2600, 3000);
CustoNivMaximo[gerador]:= (2.5, 1.75, 3);
HorasPer [periodo] := (6, 3, 6, 3, 6);
VARIABLES
Potencia[gerador,procura] -> P;
Geradores[gerador,procura] -> G;
PotenciaFuncional[gerador,procura] -> N;
MACROS
CArranque := SUM(gerador,procura: Custoarranque[gerador] * Geradores[gerador,procura]);
Cos1 := SUM(gerador,periodo,procura: CustoNivMinimo[gerador] * HorasPer [periodo] * PotenciaFuncional[gerador,procura]);
Co2 := SUM(gerador,periodo,procura: CustoNivMinimo[gerador] * HorasPer [periodo] * Potencia[gerador,procura]) ;
C:=SUM(gerador,procura,periodo: CustoNivMinimo[gerador] * HorasPer [periodo] * NivelMinimoMW[gerador] * PotenciaFuncional[gerador,procura] );
Total := Co2 - C ;
MODEL
MIN Custo = CArranque + Cos1 + Total;
SUBJECT TO
ProdCapacity[gerador, procura] -> PCap:
SUM(PotenciaFuncional[gerador,procura]) >= ProcuraDia[procura];
PlantBal[gerador,procura] -> PBal:
Potencia[gerador,procura] >= NivelMinimoMW[gerador] * PotenciaFuncional[gerador,procura];
MaxInventory[gerador,procura] -> MaxI:
Potencia[gerador,procura] <= NivelMaximoMW[gerador] * PotenciaFuncional[gerador,procura];
MinIn[gerador,procura] -> MiI:
SUM(NivelMaximoMW[gerador] * PotenciaFuncional[gerador,procura]) >= 1.2 * ProcuraDia[procura];
PBal[gerador,procura] -> P:
Geradores[gerador,procura] <= UniDisponiveis[gerador];
SUM(PotenciaFuncional[gerador,procura]) <= Geradores[gerador,procura] ;
END
Anyone?! Please!!!
a quem se dispuser a salvar-me até às 23:30 lol, desde já os meus mais profundos agradecimentos
(escusado será dizer que esta não é a minha área - só tive um bocadito de fortran...já aos anos)
The index 'gerador' in vector 'Geradores' is not specified
in the underlying index list. - isto é relativo à linha 84 (a amarelo)
TITLE EnergyCost;
INDEX
gerador := (G1, G2, G3) ;
procura := (Pro1, Pro2, Pro3, Pro4, Pro5) ;
periodo := (P1, P2, P3, P4, P5) circular;
DATA
ProcuraDia[procura] := (14500, 33000, 25500, 43500, 28500);
Custoarranque[gerador] := (2000, 1000, 650);
UniDisponiveis[gerador]:= (14,11,7);
NivelMinimoMW[gerador]:= (850, 1250, 1500);
NivelMaximoMW[gerador]:= (2000, 1750, 4000);
CustoNivMinimo[gerador]:= (1000, 2600, 3000);
CustoNivMaximo[gerador]:= (2.5, 1.75, 3);
HorasPer [periodo] := (6, 3, 6, 3, 6);
VARIABLES
Potencia[gerador,procura] -> P;
Geradores[gerador,procura] -> G;
PotenciaFuncional[gerador,procura] -> N;
MACROS
CArranque := SUM(gerador,procura: Custoarranque[gerador] * Geradores[gerador,procura]);
Cos1 := SUM(gerador,periodo,procura: CustoNivMinimo[gerador] * HorasPer [periodo] * PotenciaFuncional[gerador,procura]);
Co2 := SUM(gerador,periodo,procura: CustoNivMinimo[gerador] * HorasPer [periodo] * Potencia[gerador,procura]) ;
C:=SUM(gerador,procura,periodo: CustoNivMinimo[gerador] * HorasPer [periodo] * NivelMinimoMW[gerador] * PotenciaFuncional[gerador,procura] );
Total := Co2 - C ;
MODEL
MIN Custo = CArranque + Cos1 + Total;
SUBJECT TO
ProdCapacity[gerador, procura] -> PCap:
SUM(PotenciaFuncional[gerador,procura]) >= ProcuraDia[procura];
PlantBal[gerador,procura] -> PBal:
Potencia[gerador,procura] >= NivelMinimoMW[gerador] * PotenciaFuncional[gerador,procura];
MaxInventory[gerador,procura] -> MaxI:
Potencia[gerador,procura] <= NivelMaximoMW[gerador] * PotenciaFuncional[gerador,procura];
MinIn[gerador,procura] -> MiI:
SUM(NivelMaximoMW[gerador] * PotenciaFuncional[gerador,procura]) >= 1.2 * ProcuraDia[procura];
PBal[gerador,procura] -> P:
Geradores[gerador,procura] <= UniDisponiveis[gerador];
SUM(PotenciaFuncional[gerador,procura]) <= Geradores[gerador,procura] ;
END
Anyone?! Please!!!
a quem se dispuser a salvar-me até às 23:30 lol, desde já os meus mais profundos agradecimentos
(escusado será dizer que esta não é a minha área - só tive um bocadito de fortran...já aos anos)