Dear All,

My current model is for investment decisions of different machine types (q) at different cities (i) over a planning horizon (t). Currently, I am trying to add retirement and commissioning time for these machines since it takes sometimes to build these investments (‘commissioning’) and after sometime they need to be salvaged (‘lifespan’). I could not figure out how to add age to my existing variables.

Here are some examples from my existing code and what is in my mind:

Data:

Existing capacity for machine q and city i: Edata(i,q)

Data for new machine q: (Tdata(q,’capacity’)

Variable: New add capacity for machine q and city i at year p: G(i,q,p)

In current model, my G (i, q,’0’) = Edata(i,q) and

I am planning to add one more column on data section to define the existing machines’ age

Edata(i, q,’age’)

and I will add one more indice as ‘a’ for the age and the age of the existing capacity of the machine will be

G (i, q, a, ’0’) = Edata(i, q,’age’)

Now for the retirement, I will write these to ensure the capacity after the lifespan is zero.

Lets say for 1st machine lifespan is 50 years of age then my capacity of a machine which is 50 years old will be G(i, ‘1’, 50, p) = 0

and for the other machines as well.

The question about the retiring age is how can I change the age when time period increases and how can I ensure the age of 50 is the last age for machine 1 and age of 30 is the last year for machine 2. Different machines will have different lifespans therefore I need to define different lifespans for different machines.

About the commissioning these machines, I will add a column to my table to define the commissioning time for different machines such as ( Tdata(q, ‘Commissioning’) and I would like to ensure that if the investment decision is made on year number t, there will not be any capacity until year t+commissioning time.

I would appreciate if you could give some insights or resources to check for the above problems.

Thanks in advance.