# TOMNET  
# REGISTER (TOMNET)
# LOGIN  
# myTOMNET
TOMLAB LOGO

« Previous « Start » Next »

C  Motivation and Background

Many scientists and engineers are using .NET  as a platform for modeling, analysis and computation. But for the solving optimization problems, the support is weak. That was one motive for starting the development of TOMNET.

To solve optimization problems the user has been forced to write significant amounts of own code or use basic entry-level solvers.

In recent years several modeling languages have been developed, like AIMMS [2], AMPL [7], ASCEND [20], GAMS [3, 4] and LINGO [1]. The modeling system acts as a preprocessor. The user describes the details of his problem in a very verbal language; an opposite to the concise mathematical description of the problem. The problem description file is normally modified in a text editor, with help from example files solving the same type of problem. Much effort is directed to the development of more user friendly interfaces. The model system processes the input description file and calls any of the available solvers. For a solver to be accessible in the modeling system, special types of interfaces are developed.

The modeling language approach is suitable for many management and decision problems, but may not always be the best way for engineering problems, which often are nonlinear with a complicated problem description. Until recently, the support for nonlinear problems in the modeling languages has been crude. This is now rapidly changing [6].

For people with a mathematical background, modeling languages often seems to be a very tedious way to define an optimization problem. There has been several attempts to find languages more suitable than Fortran or C/C++ to describe mathematical problems, like the compact and powerful APL language [15, 21].

The concept of TOMNET is to integrate various modeling classes and interfaces, getting access to the best of all worlds. TOMNET should be seen as a complement to existing, often more specific, modeling platforms, for the user needing more power and flexibility than given by a just a programming language.

« Previous « Start » Next »