I am working in a model that produce one batch of a chemical process that has many sub-processes. The batch horizon is 700 time intervals. During the process, one process begin for short duration (10-50 interval) who beginning time and total duration is calculated by the optimization itself. The sub-process rate of reaction follows a trajectory that is saved in a parameter of size 50 interval (less than batch horizon). Now when this process activated, it should take the first value saved in the parameter

*rate(t1)*and so on. I am using MIP programming where a binary variable

*sb_i(t)*is used to indicate the beginning of the sub process. The constraint look like

**set t /1*700/**

set t1 /1*50/;

Parameter

rate(t1);

rate(t1)= (some different value)

;

Variable

sb_i(t);

Process_constraint(t);

process_constraint(t).. prcoess_mass(t)=E=process_mass(t-1)-[rate(t1)]*sb1(t);

set t1 /1*50/;

Parameter

rate(t1);

rate(t1)= (some different value)

;

Variable

sb_i(t);

Process_constraint(t);

process_constraint(t).. prcoess_mass(t)=E=process_mass(t-1)-[rate(t1)]*sb1(t);

But i think, direct way is not working due to vector different dimensions. So anybody has any idea how to proceed with such multiplication?

Thanks