Opened 9 years ago

Closed 8 years ago

#3859 closed discussion (fixed)

A specific annotation for dynamic integration method / optimization?

Reported by: massimo ceraolo Owned by: somebody
Priority: normal Milestone: Future
Component: *unknown* Version: v1.9.4-v1.9.x
Keywords: Cc:

Description

OM has the important feature of allowing dynamic optimisation, instead of simulation, via -s=optimization flag.
Models prepared for optimisation are different from those prepared for simulation. For instance they may contain special annotations such as
annotation(isLagrange = true)
annotation(isFinalConstraint = true).

Currently, when simulating them from OMEdit the user has to manually select "optimization" as the integration method. This info cannot be saved in the model, so when the user switches to a simulation, and changes, let's say, the method into dassl, when returning back to the optimisation model he has to again manually set the optimisation method.

So, I think it would be useful adding a specific OpenModelica annotation saying for a model the required Integration method. This could be also automatically created by OMEdit when "save simulation settings inside model" is selected in Simulation Setup window.
This will be useful in several cases, but especially useful when switching back and forth between simulation and optimization problems.

I understand that maybe this has not been done yet because "optimization" is somewhat experimental. That's why I've waited several months after my first usage of optimization before generating this ticket.

I created this ticket as a discussion, because I understand that creating new annotations is a delicate task.

Change History (2)

comment:1 by massimo ceraolo, 8 years ago

To avoid the creation of a specific annotation for storing the required solver I think t is better to chain the solution of this ticket to the one of #3488.
In that case, if I'm not wrong, what I needed in this ticket is simply attained by adding in the code the annotation

__OpenModelica_setCommandLineOptions("-s=optimization")

Thus, fixing #3488 should automatically fix #3859.

comment:2 by Francesco Casella, 8 years ago

Resolution: fixed
Status: newclosed

As #3488 is now closed, I am closing this ticket also.

Note: See TracTickets for help on using tickets.