Optimization shell Inverse has undergone
the first development stage where the basic framework for
implementation
tools have been developed. It is now in the stage where algorithms and
tools for performing different tasks and solving various kinds of sub
problems
are added and improved. New tools will be mostly responsible for
changing
the programme look, although some conceptual things will be the subject
of change and upgrade, too.
There are many things we would like to do in the future. Inverse tends to be a programme offering tools for various optimization areas such as shape optimization, optimization of systems with noisy response, etc. We would not like to limit Inverse to the use with a single simulation programme or to solution of a specific type of problems. One of the basic ideas of the shell is generality. It should in the first place provide general tools commonly needed for solution of optimization problems, e.g. optimization algorithms or functions for matrix manipulation. On the top of this it should provide a framework for implementation of tools for solution of specific sub problems (e.g. domain transformation for shape optimization problems and interfacing routines for utilization of simulation programmes).
One of the objectives for the future is to provide Inverse as an open library. Different research groups will then be able to implement their own tools in Inverse independently on the Inverse development team. Modules developed in different research and development groups can this way be distributed without interference of Inverse development team. We hope that gradually this would create variety of tools that users could obtain from different sources and plug into Inverse. The Inverse team will however still develop its own tools which will be a part of the shell by default. We want to provide a set of most basic tools to cover common needs, but also leave peak experts in individual areas to offer their more advanced and specialized solutions as a supplement to the basic scheme.
In a similar way we would like to spread a circle of simulation codes that would provide a close interface with Inverse. All users of these codes would have, regardless to the simulation code they use, opportunity to take the advantage of what Inverse offers, essentially of a variety of tools developed not only by the Inverse team. Inverse comes with a general file interface, which enables use of Inverse with practically every code that uses text input and output. However, direct interface between the shell and a simulation programme is more elegant, efficient and easy to use. Besides, the structure of many simulation programme is not suited wery well for optimization. Creation of a direct interface with Inverse can improve that. Inverse team will provide assistance to the simulation code developers who would like to provide a direct interface with Inverse. The expertise of the whole C3M group, a part of which is doing research in advanced finite element code concepts, can be employed here.
Development tasks that currently have the highest priority are the following:
Inverse development has depended much
on funding granted for research. This source will not suffice
in
the future, therefore we will send the programme to market.
With
the additional source of income generated by commercial distribution we
will try to build a research and development team which will be up to
meeting
the most demanding user needs.