Darwin Optimization Framework
Darwin Optimization Framework is designed and developed as the general tool for rapid implementation of optimization applications. The framework encapsulates the search algorithms, parallel computing/evaluating possible solutions and constraint handling methods. The core search engines are generalized from three Bentley products Darwin Calibrator and Darwin Designer and Darwin Scheduler as embedded and released as optimization modeling tools of Bentley Water Solution. Darwin framework allows parallel optimization on a single many-core machine and a cluster of many-core machines. It enables user to solve single and multi objective optimization problems with linear, nonlinear, inequity and equity constraints.
The framework relives developers from implementing and integrating the optimization algorithm with an analysis solver, and thus allows developers to focus on defining, formulating and implementing the domain applications. The application can be implemented in a class library, which is built as an independent DLL dynamically loaded at run time. Therefore, Darwin optimization framework enables rapid prototype and implementation of optimization projects.
Software Prototype:
Published Papers:
Genetic Programming (GP) is one of evolutionary computing algorithms to enable computing machines to achieve artificial intelligence by automatically generating and evolving computer programs or models. Since 1990’s, many successful applications have been made in many areas, including but not limited to the induction of an explicit mathematic model from data, so-called data-driven modeling, and solving sophisticated differential equations. GP has similar working mechanics to genetic algorithms (GA), but unlike GA that is to search for a numerical solution to a given problem. Instead, GP is to breed mathematic models or computer programs for a problem with the given dataset. It starts with a population of randomly generated mathematic models, and evolves the models by emulating the principles of natural selection and genetic reproduction. It is similar to GA in that GP optimizes a population of computer programs according to a fitness landscape determined by a given computational task and that GP generates a new population of solutions by operations including crossover and mutation. It is domain-independent method for inducing the optimized mathematic model. Differences of GP methods lie in how a model is represented and the variations of solution reproduction operators.