Automatic iteration

hello everyone, I’m trying to implement a Monte Carlo simulation. I use gsl_ran_gaussian to generate the variance.

this is my obj funtion plus constraints

minimize Costo_Total: sum {v in V, t in T} Co[v, t];

s.t. Costos_Oper {v in V, t in T}:
      Co[v, t] = sum {g in G} lcg[g] * Pg[v,g, t] * 100;

s.t. Balance_Demanda {v in V, n in B, t in T}:
    sum {(g, n) in Gn} Pg[v, g, t] - sum{(d, n) in Dn} dem[d] * pdes1[v,d,t]
    = sum{(n, m) in L} Fl[n, m, t] + sum{(m, n) in L} -Fl[m, n, t];

s.t. Flujo_Lineas {(n, m) in L, t in T}:
     Fl[n, m, t] = (An[n, t] - An[m, t]) / xlin[n, m];

s.t. Potencia_Redespacho {v in V, g in G, t in T}: 
   Pg[v, g, t] = (bg[g] * pdest[v, t]) / bt[g];

s.t. TotalInertia {v in V, t in T}:
   sum {g in G} hg[g] >= Htotal[v, t];

s.t. H {v in V, t in T}:
     Htotal[v, t] = (abs(pdest[v,t]) * fo[t]) / (2 * rocof[t]);

and im using a for in the .run

param a := 5;  #
set V := 1..a;

option randseed 0;  # This will use system time as seed function gsl_ran_gaussian random;
for {v in V} {
    # Regenerar valores aleatorios para cada iteración
    let {d in D, t in T} sigma[v,d,t]  := 0.03 * prfl_dem[d,t]; 
    let {d in D, t in T} delta_sigma[v,d,t] := gsl_ran_gaussian(sigma[v,d,t]);
    let {d in D, t in T} real_dem[v,d,t] := prfl_dem[d,t] + delta_sigma[v,d,t];
    
    let {d in D, t in T} beta[v,d,t] := 0.2 * prfl_gen_eol [d,t];
    let {d in D, t in T} delta_beta[v,d,t] := gsl_ran_gaussian(beta[v,d,t]);
    let {d in D, t in T} real_gen_eol[v,d,t] := prfl_gen_eol[d,t] + delta_beta[v,d,t];
    
    let {d in D, t in T} gamma[v,d,t] := 0.2 * prfl_gen_solar[d,t];
    let {d in D, t in T} delta_gamma[v,d,t] := gsl_ran_gaussian(gamma[v,d,t]);
    let {d in D, t in T} real_gen_solar[v,d,t] := prfl_gen_solar[d,t] + delta_gamma[v,d,t];

    let {d in D, t in T} dem_gen_inicial [v,d,t] := prfl_dem[d,t] -  prfl_gen_eol[d,t] - prfl_gen_solar[d,t];
    let {d in D, t in T} real_dem_gen[v,d,t] := real_dem[v,d,t] - real_gen_eol[v,d,t] - real_gen_solar[v,d,t];
    
    let {d in D, t in T} pdes1[v,d,t] := real_dem_gen[v,d,t] - dem_gen_inicial[v,d,t];
    
    let {t in T} pdest[v,t] := sum {d in D} abs(pdes1[v,d,t]);

    option solver highs;
    solve;
    }
end;

but im facing this error

ampl: include '/Users/laurarodriguez/Documents/DTURTS24/RED/RED.run';

option randseed 4255919885;

Error at _cmdno 30 executing "solve" command
(file /Users/laurarodriguez/Documents/DTURTS24/RED/RED.run, line 73, offset 2396):

error processing constraint Balance_Demanda[2,'n01','t1']:
no value for pdes1[2,'d01','t1']

The message is saying that constraint Balance_Demanda[2,‘n01’,‘t1’] refers to parameter pdes1[2,‘d01’,‘t1’], but your .run file has not set any value for pdes1[2,‘d01’,‘t1’]. So you should investigate your statment

let {d in D, t in T} pdes1[v,d,t] 
   := real_dem_gen[v,d,t] - dem_gen_inicial[v,d,t];

to determine why it is not setting a value for pdes1[2,‘d01’,‘t1’]. To see exactly what AMPL generated for the Balance_Demanda constraint mentioned in the error message, you can use the AMPL statement

expand Balance_Demanda[2,'n01','t1'];

To get more help, provide all of the set and param statements so that it is possible to execute file RED.run.