180 likes | 336 Views
Transformation of Timed Automata into Mixed Integer Linear Programs Sebastian Panek. Overview. Motivation First modeling approach Syntax Semantic MILP-Formulation Formulation of scheduling problems Further work. Motivation: What?. What do we want to do?
E N D
Transformation ofTimed Automata into Mixed Integer Linear ProgramsSebastian Panek
Overview • Motivation • First modeling approach • Syntax • Semantic • MILP-Formulation • Formulation of scheduling problems • Further work
Motivation: What? What do we want to do? • Model an (optimization) problem as Linearly Priced Timed Automata (LPTA) • Transform it into a Mixed-Integer Linear Program (MILP) • Solve it using MILP algorithms • Compare the results to other approaches in terms of computational effort and usability
Motivation: How? • We have some experience in building optimization models of hybrid systems and scheduling problems (Engell, Stursberg, Sand) • TA are simpler than hybrid automata, but there have been some open questions: • how to formulate parallel compositions? • how to formulate synchronization? • how to formulate continuous time? • how to exploit the simpler structure of TA • how to solve MILP models of TA faster?
Motivation: Why TA? • TA allow modeling complex behaviors quite easily (simple syntax) • Parallel compositions of TA allow the user specifying decomposed parts of a system separately • There exist graphical editors and languages for the modeling of TA • Powerful analysis tools are available
Motivation: Why MILP? • MILP is appropriate for problems in many application domains • A well-investigated MILP theory is known for many years • Many different MILP solution algorithms and heuristics are available • Powerful free and commercial MILP solvers have been developed • Modeling and debugging is very difficult!
First approach to the MILP formulation of TA • LPTA (costs on locations and transitions) • Continuous time in the MILP • Finite set of time points at which transitions may occur • Networks of TA are possible • Bidirectional synchronization using labels • More complex clock constraints for invariants and guards are supported (arbitrary polyhedra)
Syntax • Syntax of LPTA • Additionally: • Since MILP models are static, the automaton can‘t simply stop in the final state • Insert self-loops in all locations • Those loops allow the TA to do nothing without additional costs
Semantics:transitions • Bounded time horizon (an upper bound for all clock valuations must exist) • Finite number of time pointsn in the MILP implies finite number of transitions 2n in the TA • Each time point in the MILP corresponds with • 1 delay transition • 1 discrete transition
Semantics:synchronization • Semantic for synchronization: Synchronized transitions are taken if there are at least two automata waiting for the same label (bidirectional synchronization)
MILP formulation:variables • Example LPTA (Larsen et al.) • MILP model with n=4 time points • Real variables for clock vectors • Binary variables for locations and transitions 2 2 2
MILP formulation:constraints on binary variables • Real variables for time delays • Binary product variables for all combinations of locations and outgoing transitions • At every k the automaton is in one location: • At every kone transition is taken:
MILP formulation:computing products • Real product variables of clocks and locations • Real product variables of clocks and transitions
MILP formulation:clock constraints • Use polyhedral description to express clock constrains, i.e. • Enforce invariants for locations • Enforce guards for transitions
MILP formulation:evolution • Delay transitions: • Discrete transitions: • Clock resets on transitions:
MILP formulation:objective function • Define start state and final states fixing corresponding variables: • Define products for the objective function: • Objective function: minmize costs over all runs
TA formulation of scheduling problems • According to O. Maler and A. Fehnker • Use additional constraints to assert exclusive allocation of resources • Example: 2 jobs and 2 resources
Further work • Improve the MILP formulation • Test it on large scale models • Implement other types of TA (i.e. Uppaal-TA) • Build a parser which accepts common TA description languages and generates MILP code automatically • Compare the different approaches: • TA model, symbolic solution • MILP model, MILP solution, • TA model, MILP solution