MATLAB: Can you specify multiples to be returned by intlinprog

intlinproglinearprogramminglinprogoptimisationoptimization

I am using intlinprog to formulate a problem aimed at creating an optimal technology mix for electricity generation. My independent variables are the capacity of each generating source added to the grid to meet demand.
I can specify that results must be integers using intlinprog, but I want to specify specific multiples that are feasible. For example, adding 1MW of solar capacity is reasonable, but adding 1MW of nuclear isn't, you'd add, say, 1000MW.
So my question is, can I formulate a problem that would adhere to something like this:
  • Solar and wind can be added in blocks of 1MW
  • Coal and gas can be added in blocks of 300MW
  • Nuclear can be added in blocks of 500MW
so that my final answer would only contain multiples of these values for each source?
I'm using MATLAB_R2015b.
Many thanks

Best Answer

So each parameter would be expressed as an integer, 0:1:pmax.
In your objective, if p indicated the amount of nuclear power, then use p*1000 wherever that parameter arises.
So everything is expressed in terms of megawatts of power generated, but only discrete amounts will be allowed.