package Ġspace . d _ low l . k gl sm . sim ulated an ne aling Ċ Ċ import Ġspace . d _ low l . k gl sm . general . memory . Basic Solution Ċ import Ġspace . d _ low l . k gl sm . general . transition predicate . Not Predicate Ċ import Ġspace . d _ low l . k gl sm . general . transition predicate . Un conditional Predicate Ċ import Ġspace . d _ low l . k gl sm . sim ulated an ne aling . strategy . An ne aling Step Ċ import Ġspace . d _ low l . k gl sm . sim ulated an ne aling . strategy . Reset Temperature Ċ import Ġspace . d _ low l . k gl sm . sim ulated an ne aling . strategy . Temperature Schedule Ċ import Ġspace . d _ low l . k gl sm . sim ulated an ne aling . transition predicate . Temperature Lower Predicate Ċ import Ġspace . d _ low l . k gl sm . sl s . StateMachine Ċ import Ġspace . d _ low l . k gl sm . sl s . state Machine Ċ Ċ /** Ċ Ġ* ĠSim ulated ĠAn ne aling Ċ Ġ* Ċ Ġ* ĠReference : Ġhttps :// link . spring er . com / chapter / 1 0 . 1 0 0 7 / 9 7 8 - 1 - 4 7 5 7 - 5 3 6 2 - 2 _ 6 Ċ Ġ*/ Ċ object ĠSim ulated An ne aling Ġ{ ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠGet ĠSim ulated ĠAn ne aling Ġstate Ġmachine ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* ĠReference : Ġhttps :// link . spring er . com / chapter / 1 0 . 1 0 0 7 / 9 7 8 - 1 - 4 7 5 7 - 5 3 6 2 - 2 _ 6 ĊĠĠĠĠ Ġ* ĠChapter Ġ 6 , ĠSection Ġ 1 ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġ< T > ĠgetState Machine ( initial Temperature : ĠDouble , Ġtemperature Schedule : ĠTemperature Schedule < T >): ĠState Machine < T , ĠBasic Solution < T >> Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġreset Ġ= ĠReset Temperature < T >( initial Temperature ) ĊĠĠĠĠĠĠĠ Ġval Ġstep Ġ= ĠAn ne aling Step < T >() ĊĠĠĠĠĠĠĠ Ġval Ġtermination Predicate Ġ= ĠTemperature Lower Predicate ( 0 . 0 1 ) ĊĠĠĠĠĠĠĠ Ġval Ġcontinue Predicate Ġ= ĠNot Predicate ( termination Predicate ) ĊĊĠĠĠĠĠĠĠ Ġreturn Ġstate Machine Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġentry point Ġ= Ġ" RESET " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnode Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" RESET " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstrategy Ġ= Ġreset ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtransition Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġto Ġ= Ġ" SI MAN NE AL _ STEP " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtransition Predicate Ġ= ĠUn conditional Predicate () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnode Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" SI MAN NE AL _ STEP " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstrategy Ġ= Ġstep ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtransition Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġto Ġ= Ġ" TEMP ER ATURE _ SCHED ULE " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtransition Predicate Ġ= ĠUn conditional Predicate () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnode Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" TEMP ER ATURE _ SCHED ULE " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstrategy Ġ= Ġtemperature Schedule ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtransition Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġto Ġ= Ġ" SI MAN NE AL _ STEP " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtransition Predicate Ġ= Ġcontinue Predicate ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtransition Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġto Ġ= ĠState Machine . TERMIN ATION _ STATE _ LABEL ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtransition Predicate Ġ= Ġtermination Predicate ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} Ċ } ĊĊ