|
TOPSU is an interactive framework for optimal planning and control of
production or other control processes under uncertainty. It devides an optimization task in
three parts: model building, algorithm for solving the problem which is induced
from the model, and the experimental evaluation of the algorithm inside the
model.
One most crucial point of TOPSU is that the frame work does not
only demand this partition but also allows the distribution of these three tasks
to different people. Thus it is a platform for the competition of algorithms.
The second crucial point is the fact that TOPSU supports the influence of
uncertainty within its implicit optimization model. We decided to incorporate
this feature for two reasons. Firstly, practitioners often claim that production
processes have massively to deal with several kinds of uncertainty. Secondly,
production systems are typically so large that optimization must focus on a
certain part of this system. Or in other words, we have to optimize parts of a
supply chain. We think, it will be advantageous for the optimization of a supply
chain, if its components are aware of uncertain boundaries.
The optimization model of TOPSU can be explained with the help of games. One
player is the optimizing planning algorithm, the other one is 'Nature' realizing
probability distributions of model parameters, in the course of time. This is
quite straight forward. The time is discretized into periods of the same length
(e.g. 5 minutes per period), and at the beginning of each period, the solver
algorithm has to propose which machine should perform which task within the
coming period. When the period is finished, the TOPSU environment plays the
part of reality and informs the algorithm about what happened in 'reality'. It
informs the algorithm about the current state of the system. Then the algorithm
has to propose a next assignment of tasks to machines, etc.
We are preparing various optimization problems / games:
If you have Internet access, you can use one of our game clients for connecting to our server. In order to do so, you need
the Microsoft .NET Framework and an extension kit for C++ (see at link section).
If you aim at developing an intelligent controller for our simulation world, you have to write a stand-alone console program, which
connects to our game client. Your
controller - we call it the engine - can then be started with the help of the client program. If your engine follows the game dependent
text protocoll, it can participate. Your engine does only exchange messages with the client program, all communication
between client and server via Internet is hidden for you and fully transparent.
|