wiki:Documentation/Howto/OptimizeAnyLogicModels

Version 1 (modified by abeham, 8 years ago) (diff)

tbc

Optimize Parameters of AnyLogic 6 Simulation Models

Introduction

We assume the reader is familiar with xj technologies AnyLogic 6 and has basic understanding of the Java programming language.

This howto is written as a tutorial by taking one of the sample models that ships with AnyLogic and add connectors to optimize its parameters with HeuristicLab algorithms. If you go through this tutorial you will hopefully get an idea on how to solve your specific problem and implement the connector in your model. If you're interested in the technical details and the backgrounds you can also read the first section of the howto aimed more at developers: [DevelopersOptimizingExternalApplications optimize parameters of simulation models.]

AnyLogic 6 Supply Chain model

The model which we are going to optimize with HeuristicLab comes preinstalled with AnyLogic 6 and is called Supply Chain. You can open it either on the Welcome page after starting AnyLogic 6 or by choosing "Sample Models" from the Help menu. After you opened the model you can try to run the Simulation. There is also an Optimization Experiment in this model which uses the proprietary optimization package OptQuest.

Optimization Problem

Let's talk a little about the optimization problem: There are three players in a supply chain of which the first one produces goods from an unlimited source of resources and the last one sells goods to an unlimited number of customers. Each player maintains an inventory of goods out of which it fulfills the demands of the next player. There are ordering costs, holding costs and shipping costs. The optimization consists of defining parameters of an (s,S) inventory policy. The lower s in this policy defines the inventory level at which an order will be placed and the upper S defines the level which should be filled by the order. The optimization goal is to minimize the sum of all costs in the chain while satisfying a certain service level which is represented as the customer waiting time. If customers have to wait too long then the solution (aka. the parameters of the policy) is considered infeasible. In total we have 6 decision variables, one target variable and a constraint.

Preparing the Simulation Model

Attachments (2)

Download all attachments as: .zip