spine-tools / SpineOpt.jl

A highly adaptable modelling framework for multi-energy systems
https://www.tools-for-energy-system-modelling.org/
GNU General Public License v3.0
56 stars 13 forks source link

Flexible objective function #13

Closed spine-o-bot closed 1 year ago

spine-o-bot commented 3 years ago

In GitLab by @Poncelet on Jun 20, 2018, 12:25

Further elaborate the objective function. Ideally, allow for other types of objective function except cost minimization (e.g., emission minimization, multi-objective, etc.)

spine-o-bot commented 3 years ago

In GitLab by @jkiviluo on Jun 21, 2018, 08:33

Maybe it should be possible to
A) add new terms to the base objective function
B) use an alternative objective function that is part of the Spine Model
C) use an alternative objective function defined by the user as input 'data'

spine-o-bot commented 3 years ago

In GitLab by @DillonJ on Jun 22, 2018, 08:20

Similar to what Juha is suggesting above, I think we should:

spine-o-bot commented 3 years ago

In GitLab by @manuelma on Nov 18, 2019, 10:28

I think it's time to start working on this. Shouldn't be too difficult with the current state of things.

DillonJ commented 3 years ago

Piece of cake... we create parameters.... unit_flow_objective_coefficient etc... the relationships should be there already

mihlema commented 3 years ago

We should probably implement this now, if we decide it should be part of SpineOpt. As @jkiviluo mentioned before, we can include/exclude cost terms. At the moment we only support the minimization of the total system costs. What we don't support minimize emissions, multi-objective. Assuming we'd want to add minimization of emissions, we'd need to implement the following

For multiobjective optimization, our best shot might be to use weighted sums (+scaling factors). Hence, we'd need (for each objective function):

At a first glance, this seems doable. Any thoughts? @DillonJ @manuelma @jkiviluo

clizbe commented 1 year ago

Closing because stale.