Despite the title, this is an enquiry relating to current real world, industrial problems. We have multiple collections of devices that are all on/off in nature. The problem is to perform switching so that targets are met (eg. the right number are on), that constraints are honoured (eg. within each collection there are maximum and minimum numbers to be on at once), and preferences to use some devices over others (eg. some are good, others not so). Given the existence of constraints, sometimes order of operations matters in the solution. I've already had a number of goes at this, using a rule-based approach
- and am looking for a more methodical way. I'm wondering whether there is any theoretical framework or methodology that would cover this sort of thing, something analogous to the multivariable predictive algorithms for continuous systems.
State machines spring to mind, but attempts in that direction have invariably led to the dreaded state explosion. It's the sort of problem that I've seen solved by PLCs, I wonder whether some of the PLC platforms have tools for dealing with it.
I'm interested enough in the abstractions involved to tackle academic stuff... within limits.