./ (directory)    <<    < back        Igor Gresovnik    Inverse     C3M    

Ioptlib

  This page provides some information about the Ioptlib (Investigative Optimization Library) , whose experimental version should be released soon (see comment on availability).


Contents:

    
 
  Search  
      


  


About the library

 
  Ioptlib (a shortcut for Investigative Optimization Library) is an open optimization library designed to sustain development and testing of algorithms for solving practical optimization problems. A priority goal is to develop algorithms suited to problems with computationally expensive and possibly noisy evaluation of the response (i.e. objective and constraint) functions. The library is intended to provide modular building blocks for constructing such algorithms, standardized templates for interfacing tools obtained form other libraries, and testing environment where different performance aspects of algorithms can be readily extensively tested during and after the development stage. Currently most of the efforts are devoted to algorithms based on successive solution of approximated problems obtained by local sampling and approximation of the response functions. Such algorithms have complex designs and involve solution of many sub-problems such as non-linear or quadratic programming problems, matrix algebra, optimal sampling strategies, etc. The intention is therefore to gradually accumulate efficient routines for solving these problems, which will lead to broader serviceability of the library. Any attempt was made to keep open the possibility of starting development of new algorithms or attaching to the existent functionality at any level. The basic library is therefore intended to be distributed as free open source under certain conditions. A couple of algorithms will be available under different negotiable terms since this is necessary to provide the funding for library development, however their building blocks together with a set of quite useful algorithms will be provided with the basic set that is more open what concerns availability.

  The original motivation for the library was obtained in optimization of forming processes where evaluation of objective and constraint functions typically involves complex numerical simulation with hundreds of thousands of degrees of freedom, very non-linear and path dependent materials, multi-physics and multi-scale phenomena etc. As result, not only the calculation of the objective and constraint functions takes very long times even on the fastest computers or parallel architectures, but these functions often contain substantial amount of numerical noise. These conditions impose a substantial turn in how algorithm performance is viewed. On one hand the most important measure of algorithm efficiency becomes the number of function evaluations it takes for calculating optimum up to a given accuracy. The CPU time spent by the algorithm becomes somehow less important because function evaluations will normally require incomparably more computational time. Because running optimization procedures will often be just on the limit of affordable, the goal will not always be to find an optimal solution up to a specified accuracy, but rather to achieve significant improvement within affordable computational time.

  The targeted scope of the library is beyond the area of its original motivation. It is intended to provide a pool of algorithms for different problems and facilities for extending this pool. Beside that, interaction with other libraries and use of the library in existing or future software is accounted for as much as possible. A lot of stress is put on defining standard data types and function prototypes used for different purposes, such as evaluation of response functions and their derivatives or for storing results of such evaluation and their use in building approximations. These standards are defined in such a way that routines for similar tasks from other libraries can be easily incorporated in the system, and functions that are consistent with library standards can be easily exported in standard forms required in other software environments. Wrapping functions and data converters are provided for some common cases, and the way how one can create own tools for this is being documented in manuals. The standards are designed in such a way that they are suitable for any environment, in particular to allow recursive calls and work in multi-threaded environment.

  The library comes with a set of basic utilities that are extensively used in implementation of basic building blocks and algorithms. This includes e.g. basic matrix and vector operations and generic implementation of data containers such as stacks. These utilities are well documented in source code while overview is given in documentation.

  Many of elementary utilities make use of other free libraries. Contribution of people who designed these libraries and made them available is gratefully acknowledged.


Availability


  I hope the library will be available by october 2005 at the latest. Until then I must write some documentation and implement some routines which will make the library useful for other users. I intend to release an experimental version first, which is mainly intended for those who have an interest in contributing to the library or cooperating at decisions about library design. After a given period, the official version will be released. In the official versions, I will attempt to enforce backward compatibility as much as possible for the functionality that is intended for average users, while the experimental version may be subject to changes in function names and organization.
  The main user of the library will be C3M and the library will be at some stage included in Inverse. However, a part of the library will be publically available in order to promote the exchange of ideas between researchers working on similar problems in optimization. Some commercial algorithms will not be freely available, but I will do my best to make them easily available for research purposes in exchange for quotation, exchange of results,  or contributions to the library.







Google
WWW    ../    ./     Igor at Arnes   Igor at Mrfreesite



  
 
  
  
      
Updated in February 2005

Note: This site is under construction.      Could not find an image. 



Number of accesses since April 2005:     If you don't see the access counter properly then click on the link!    If you don't see the access counter properly then please follow this link!