UOF - Unified Optimization Framework
In this project, an object-oriented unified optimization framework (UOF) for general problem optimization is proposed. Based on evolutionary algorithms, numerical deterministic methods, and C++ objective design, UOF possesses real-world applications for various optimization problems. UOF is with interface between defining a general problem and generic solver; hence the two areas are bridged. UOF's components are categorized into problem and solver parts, and they work independently. Therefore, the reusable high level code allows the adaptation to new problem and solver quickly. Practical applications in microelectronics industry confirm the functionality of the developed unified optimization framework.
 
Overview

For a general purpose optimizer, defining a comprehensive interface between problems and solvers is one of important issues in programming language. In public domain, different optimization frameworks, such as GALIB, DESMO, NP-Opt...etc. have shown their advantages. However, it still has room to improve the interface between problem and solver for real-world applications. In this work, we implement a C++ unified optimization framework (UOF) for general problems and solvers. Examples of the traveling salesman problem (T.S.P.) and optimal antenna shape problem for wireless communication, are demonstrated to show the performance and extensibility of UOF. The preliminary results confirm that UOF solves these problems in a cost-effective way.

 
Architecture
All members in UOF can be easily categorized into problem-related and solver-related classes. Problem relative classes are used to form a problem in UOF, and so are those in the solver relative category.

 

The class hierarchy of the basic classes of UOF

 

The abstract classes shown above is defined as follow:

UOFProblem: The main class for problem definitions.
UOFInitializer: Initialization procedure of the solution.
UOFEvaluator: The method to evaluate the result.
UOFConstraint: To define constraints for the problem.
UOFSolver: Main procedure of the optimization solver.
UOFSolution: To store the solutions for the optimized results.
UOFTerminator: To determine when and how to stop the optimization process of the solver.
UOFInfo: To log the behavior of the solver during solving processes.
 
Built-in classes
In UOFProblem category:
- MinFunctionPool: Various testing functions for minimization optimizer.
- TSP: Constraint and UnConstraint TSP probelms.
- ExtSimProblem: An abstract class for defining a simulation-based (from external simulators) problem.
-- SPICE: Link to external SPICE simulator to perform circuit simulations.
-- TCAD: Link to external TCAD simulator (e.g. ISE, Medici...) to perform process/device simulations.
-- ECAD: Link to external EDA tools (e.g. HFSS, FEKO...) to perform electronic optimizations.
In UOFSolver category:
- PopBaseSolver: Base class for defining "Population-based" solvers.
-- GABaseSolver: Simple genetic algorithm.
-- PSOSolver: Particle swarm optimization method.
-- ACOSolver: Ant colony optimization method.
- LMSolver and BGFSSolver: Traditional numerical methods. (To be implemented in next version of UOF)

 

The built-in classes of UOFProblem and UOFSolver

 
Tutorial
We give a programming tutorial for solving a T.S.P. by UOF, moreover, the procedure to define "UOF" style problem and solver will be also introduced. Please go to this page.
 
Example
Traveling salesmen problem
Optimal antenna shape problem
TCAD reverse modeling problem

ECAD optimal high frequency circuit design

 

Related work
1. Distributed GA in UOF

2. UOF in EDA optimization

 

Publication
  1. Yiming Li, Shao-Ming Yu and Yih-Lang Li, "Application of A Unified Optimization Framework to Electronic Design Automation," accepted for publication in Mathematics and Computers in Simulation.
  2. Yiming Li and Shao-Ming Yu, "A Unified Optimization Framework for Real World Problems," in Lecture Series on Computer and Computational Sciences, edited by T. Simos et al., Recent Progress in Computational Sciences and Engineering, Brill Academic Publishers, vol. 7, pp. 816-819, 2006.
  3. Yiming Li, Cheng-Kai Chen, Yen-Yu Cho,"A Unified Optimization Framework for Microelectronics Industry," Proceedings of the 8th annual conference on Genetic and evolutionary computation (GECCO 2006), Seattle, Washington, USA, 8-12 July, 2006, pp. 1875-1876, ISBN: 1-59593-186-4.
 
 
 
Shortcut
Overview
Architecture
Built-in classes
Tutorial
Example
Related work
Publication
Documentation

Download

-SourceForge

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Copyright © 2005-2007 Parallel and Scientific Computing Laboratory. All rights reserved.