Skip to content

Compositional optimization#55

Open
ashfaqfarooqui wants to merge 4 commits into
masterfrom
CompositionalOptimization
Open

Compositional optimization#55
ashfaqfarooqui wants to merge 4 commits into
masterfrom
CompositionalOptimization

Conversation

@ashfaqfarooqui
Copy link
Copy Markdown
Owner

No description provided.

frehage added 4 commits August 6, 2020 20:44
1. `ModularPlantLearnerWithoutTau` never adds any tau transitions, instead only the targets will be added. This will give a result that has a lot of unreachable states but this will be solved when removing all "non local variables". The benefit of this change is reduced memory allocation.

   Solving the model `AGV` on my computer takes roughly: 60 seconds with this solver compared to 100 seconds with `ModularPlantLearner`.

2. `ModularPlantLearnerWithoutTauNew` is new upgraded solver that builds on previous version. This solver introduces a few major changes:
   1. Instead of adding new states that should be expanded, the loop now adds all relevant outgoing transitions from those states, where *relevant* is the big emphasis.

      In previous versions, expanding a new state required one query to the SUL for each event in the alphabet. This is unnecessary. Instead this new solver uses the following Theorem
      Given a transition *t = <s,e,t>*, assume that the target *t* is a new state that needs to be explored according to the old established definitions. Then it can be proven that the only events out from this state that can add new value are events that is not part of the event mapping of any module that did not have any state variables changed by the transitions. That is, all events from modules *m* that satisfies `$P_{S(m)}(s) = P_{S(m)}(t)$` can be disregarded in the expansion of the target state *t*. This can in some cases drastically reduce the number of queries to the simulator and the computational complexity of the whole algorithm,

      Solving the model `AGV` on my computer takes roughly: 5 seconds with this solver compared to 60 seconds with `ModularPlantLearnerWithoutTau`.
…urations on the transitions/actions.

2. Added the classes `ControllableCommand` and `UncontrollableCommand` to ModelDomain, this enables Symbols ti be generated dynamically on runtime. Is currently used to generate new, more expressive, events for the output Automata in Compositional Optimization solvers.

3. Added the dynamic model `WeldingRobots` similar to the example in [1], which can be modified to include different number of robots, tasks. This required the following change to *core*:
   - Operations has changed from `Map[Command, Predicate]` to `Map[String, Predicate]` buyt still allows `postGuards(c: Command)` to be used to check the predicate of a command. The reason is that dynamic models cannot use predefined Commands and instanciating the Commands, forexample  into a `ControllableCommand` would require synchornization of these instances between differnet pars of the SUL. It could be achieved but Strings worrk just as well as Commands in this case.

   Which in turn required changes in all existing simulators.

4. Added a generic predicate `CUSTOM` and a generic action `Tranform` wchich allows for evaluation/transformation of a predicate/variable based on custom functions. This is used in the `WeldingRobotSimulation` to deal with bit vector evaluation and manipulation.

5. Added the (unfinished) solver `CompositionalOptimization` to include the new integrated modular learning and optimization algorithm. At the moment the solver extends the work from `ModularPlantLearner` with an integration of `TimedCodeSImulator` and some initial work with priority queues instead of lists. This will have to be continued before any conclusions can be drawn.

[1] F.Hagebring, B.Lennartson (2019) Time-Optimal Control of Large-Scale Systems of Systemsusing Compositional Optimization.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants