INVERSE - a Programming Shell for Solving Inverse and Optimization Problems


History

The developmend of program INVERSE started in spring 1994 when I was doing my final degree on inverse problems at professors Tomaz Rodic and Peter Vencelj. The main objective was to collect tools for solving inverse problems in an organized environment which would provide generalized methods for interaction with a programme for direct simulations and a flexible user interface.

Programme was developed as a shell around the finite element method (FEM) programme ELFEN which was used as a shell's subprogramme for performing direct analyses. Data exchange between the shell and the FEM programme was implemented through input and output files. This enabled a shell to be a separate programme developed independently, as opposed to the first trials which were coded within ELFEN. One of the reasons for such implementation was the fact that ELFEN was coded in FORTRAN which didn't seem a suitable language for development of the shell (now the shell is coded in C). There were also other reasons, for example the fact that ELFEN and INVERSE are developed at two distant places.

Since the very beginning, user interacted with the shell through the command file where user specified the problem to solve. At the beginning, the command file had line syntax where each line started with a command followed by its parameters. In the end of 11994 the command file syntax changed so that line breaks were not important any more. Command arguments were put in brackets which enabled nested commands. At the same time, a system for evaluation of mathematic expressions was added to shell's command file interpreter which enabled jumps and loops. Today's syntax of shell's command file is similar to a syntax of high level programming languages like C.

At the beginning, the shell was designed for solving inverse problems, but afterwards it was also developed for solving optimization problems since many concepts arecommon for both.


Technical Information about the Shell

If you want to get a better feeling about what programme INVERSE is, download a PostScript document which is an abstract for an optimization conference in Zakopane, Poland in May 1997. If you want more information, download a longer version. You can view PostScript files with Ghostview or print them with a PostScript printer.

FIGURES:

  1. A typical optimization scheme.
  2. Structure of the shell.

Inverse Home Page
Back to Igor's Home page
Igor's page at C3M
C3M main page