Evolutionary Optimisation for Microsoft Excel GANetXL Evolutionary Optimisation for Microsoft Excel J.Bicik, M.S.Morley, E.C.Keedwell & D.A.Savić
Presentation Outline General description Structure & features of the application Definition of the optimisation problem Live demonstration Software & hardware requirements Getting GANetXL Future work Simplicity – Ease of use : Allow inexperienced users familiar with excel to use the benefits of GA library Flexibility – To apply GAs on various range of problems without the need to write specialised application. Extensibility – to be able to enrich the functions offered by the tool -> require source codes -> our own product The GA library is designed in a very flexible way which allows addition of custom GA operators (selectors, crossovers, mutators) as well as new algorithms. 23 February 2007 2
Description A user friendly add-in which integrates into Microsoft Excel Uses evolutionary algorithms to solve complex optimisation problems Interacts with Excel using COM interface Simplicity – Ease of use : Allow inexperienced users familiar with excel to use the benefits of GA library Flexibility – To apply GAs on various range of problems without the need to write specialised application. Extensibility – to be able to enrich the functions offered by the tool -> require source codes -> our own product The GA library is designed in a very flexible way which allows addition of custom GA operators (selectors, crossovers, mutators) as well as new algorithms. 23 February 2007 3
Existing Tools Evolver 4.0 (Palisade) Premium Solver Platform (Frontline Systems Inc.) OptWorks Excel (Pi Blue) GeneHunter (Ward Systems) Generator (NewLight Industries, Ltd.) xl bit (XLPert Enterprise) GenSheet (Inductive Solutions, Inc.) 23 February 2007
Motivation The commercial software does not support multi-objective (MO) optimisation Use of existing GA library Flexibility Extensibility To let students get in touch with GAs Simple use Save money on buying software licenses Simplicity – Ease of use : Allow inexperienced users familiar with excel to use the benefits of GA library Flexibility – To apply GAs on various range of problems without the need to write specialised application. Extensibility – to be able to enrich the functions offered by the tool -> require source codes -> our own product The GA library is designed in a very flexible way which allows addition of custom GA operators (selectors, crossovers, mutators) as well as new algorithms. 23 February 2007
History GA Excel add-in (2003) by F. Zheng GenetXL (2004) written in Pascal Single Objective Genetic Algorithms GenetXL (2004) written in C++ GA Library in Pascal SOGA + MOGA (NSGA-II) GANetXL (2007) written purely in C++ 23 February 2007
Structure of GANetXL 23 February 2007 7
List of Features Single and multiple-objective optimisation techniques Support for integration with simulation packages Suspend, resume Multiple-objective results browser Batch runs User defined constraints & penalty multipliers 23 February 2007
Features - Continued Automatic saving of population Backups of intermediate population Visualisation of results and progress Built-in help User manual 23 February 2007 9
Defining the Problem Decision variables – Genes Objective function(s) altered by GA within their ranges (x1,x2,x3,x4) must occupy continuous range Objective function(s) used to evaluate the fitness of solutions (formula in C6) Constraints used to limit values of objective function(s) (formula in C8) 23 February 2007 10
Practical Examples Single-objective Multiple-objective optimisation of an advertising campaing Multiple-objective Link with simulation software optimisation of the “NY tunnels” problem Benchmark Zitzler test T1 Another multiple-objective example demonstration of population backups 23 February 2007 11
Supported Platforms Microsoft Windows Microsoft Excel Vista (not tested but should work) XP 2000 Microsoft Excel 2010 2007 2003 23 February 2007
New features of Excel 2007 Supports multi-core CPUs The max. number of columns: extended from 256 to 16,384 The max. number of rows: extended from 65,536 to 1,048,576 Total amount of PC memory that Excel can use: extended from 1GB to maximum allowed by Windows 23 February 2007 13
Licensing Licenses are bound to specific computer Serial number contains expiration date valid for limited number of days chromosome size, population size objectives count, generations count Registration + HW Identifier Serial Number Registration Details Serial No. 23 February 2007
Josef Bicik (j.bicik@exeter.ac.uk) Getting GANetXL Download GANetXL from following site: http://www.exeter.ac.uk/cws/ganetxl To obtain a license please follow the installation instructions: http://centres.exeter.ac.uk/cws/technology/ganetxl-addin/ganetxl-installation Support, reporting bugs and problems: Josef Bicik (j.bicik@exeter.ac.uk) 23 February 2007 15
Future Work Add more multiple-objective algorithms MO Simulated Annealing ε-NSGA II Make the application multi-threaded Visualisation of more than 2 objectives Do more testing of the application Any other ideas? 23 February 2007
Thank you for your attention! Questions & Discussion 17
Links Evolver 4.0 (Palisade) http://www.palisade-europe.com/evolver/ Premium Solver Platform (Frontline Systems Inc. ) http://www.solver.com/xlsplatform.htm OptWorks Excel (Pi Blue) http://www.piblue.com/products/optworks_ex.html GeneHunter (Ward Systems) http://www.wardsystems.com/products.asp?p=genehunter Generator (NewLight Industries, Ltd.) http://www.nli-ltd.com/products/genetic_algorithms/generator.htm xl bit (XLPert Enterprise ) http://www.xlpert.com/wxl%20bit.htm#gg1 GenSheet (Inductive Solutions, Inc.) http://www.inductive.com/softgen.htm GA Optimization for MS Excel (freeware) http://www.alexschreyer.net/projects/xloptim/index.php 23 February 2007