Commit 0fc85579 authored by Markus Klinik's avatar Markus Klinik
Browse files

implementation: user-defined quality functions

parent 58436f61
......@@ -192,4 +192,14 @@ Finding the shortest schedule for a given assignment is an optimization problem
\subsection{Quality Functions}
Describe quality functions in Clean.
Every problem instance comes with a quality function, as described in \cref{sec:arbitrary-computable-quality}.
We want quality functions to be arbitrary algorithms in some programming language, so that users can conveniently specify them.
For practical reasons we have decided for now to hard-code quality functions in the main executable.
Every instance still can have its own quality function, but the main executable has to be recompiled when quality functions are added or modified.
This means that quality functions must be specified in Clean, and must be registered in a lookup table so that the scheduler can find them when needed.
The operational picture is implemented as a JSON data structure in a text file.
When the scheduler starts, it looks for such a file accompanying the instance definition.
If it finds one, it loads it and passes it to every invocation of the quality function.
The quality function can use the JSON query routines of the Clean standard library to access the operational picture.
\todo{Make sure that quality functions are named as part of an instance definition}
In this paper we study scheduling for command and control (C2).
C2 refers to systems, processes and best practices required to coordinate people and machines to cooperatively reach a common goal.
C2 is especially needed for dynamic situations where fixed business processes would not be able to deal with unexpected events.
......@@ -157,6 +157,7 @@ Both schedules in \cref{fig:SARSchedules} have the same transport and the same e
\subsection{Arbitrary Computable Quality}
Another extension of the MSRCPSP required for C2 is that the quality with which a resource can utilize its capability for a task can depend on external circumstances.
In our example we assume that a helicopter can only be deployed in good weather.
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment