Rockwell Automation Arena OptQuest User Manual

OptQuest®for Arena
®
USER’S GUIDE
PUBLICATION ARENAO-UM001E-EN-P–November 2007
Supersedes Publication ARENAO-UM001D-EN-P
Contact Rockwell
Copyright Notice
Trademark Notices
Customer Support Telephone — 1.440.646.3434 Online Support — http://www.rockwellautomation.com/support/
© 2007 Rockwell Automation Technologies, Inc. All rights reserved. Printed in USA.
This document and any accompanying Rockwell Software products are copyrighted by Rockwell Automation Technologies, Inc. Any reproduction and/or distribution without prior written consent from Rockwell Automation Technologies, Inc. is strictly prohibited. Please refer to the license agreement for details.
Arena and Rockwell Automation are registered trademarks of Rockwell Automation, Inc.
Other Trademarks
Warran ty
ActiveX, Microsoft, Microsoft Access, SQL Server, Visual Basic, Visual C++, Visual SourceSafe, Windows, Windows ME, Windows NT, Windows 2000, Windows Server 2003, and Windows XP are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries.
Adobe, Acrobat, and Reader are either registered trademarks or trademarks of Adobe Systems Incorporated in the United States and/or other countries.
ControlNet is a registered trademark of ControlNet International.
DeviceNet is a trademark of the Open DeviceNet Vendor Association, Inc. (ODVA) Ethernet is a registered trademark of Digital Equipment Corporation, Intel, and Xerox Corporation
OLE for Process Control (OPC) is a registered trademark of the OPC Foundation.
Oracle, SQL*Net, and SQL*Plus are registered trademarks of Oracle Corporation. All other trademarks are the property of their respective holders and are hereby acknowledged.
This product is warranted in accordance with the product license. The product’s performance may be affected by system configuration, the application being performed, operator control, maintenance and other related factors. Rockwell Automation is not responsible for these intervening factors. The instructions in this document do not cover all the details or variations in the equipment, procedure, or process described, nor do they provide directions for meeting every possible contingency during installation, operation, or maintenance. This product’s implementation may vary among users.
This document is current as of the time of release of the product; however, the accompanying software may have changed since the release. Rockwell Automation, Inc. reserves the right to change any information contained in this document or the software at anytime without prior notice. It is your responsibility to obtain the most current information available from Rockwell when installing or using this product.
Version: 12.00.00 (CPR9) Modified: October 8, 2007 10:20 am
ii

Contents

1 Welcome to OptQuest for Arena 1
What is OptQuest for Arena?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
What does OptQuest do to my Arena model? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Intended audience. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Where can I go for help? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Reference the user’s guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Get help. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Get phone support. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Get Web support. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Get training . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Get consulting services. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Contact us . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2 Getting Started 7
How OptQuest works. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
The OptQuest user interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
First tutorial: Mega Movie model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Running OptQuest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Closing the first tutorial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Second tutorial: Adding constraints on responses . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Running OptQuest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Closing the second tutorial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3 Understanding the Terminology 19
What is an optimization model?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
OptQuest methodology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Elements of an optimization model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Objective. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Types of optimization models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4 Setting Up and Optimizing a Model 25
Preparing the Arena model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Responses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Run setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
iii
ARENA OPTQUEST USERS GUIDE
• • • • •
Starting OptQuest. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Selecting controls to optimize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Identifying responses to include as expressions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Specifying constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Selecting the objective . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Selecting optimization options. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Running the optimization. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Refining the solutions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
5 Optimization Tips and Suggestions 41
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Factors that affect search performance. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Designing your model for optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Controls Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Constraints Editor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Optimization Stop options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Tolerance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Replications per simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Solutions Log . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Suggested Solutions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Start and Stop commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Optimization window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Best Solutions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Number of controls. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Initial values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Suggested solutions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Bounds and constraints. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Constraints with varying bounds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Complexity of the objective . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Feasibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Number of replications and simulations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Simulation accuracy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Simulation speed. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Index 47
iv
1

Welcome to OptQuest for Arena

What is OptQuest for Arena?

OptQuest enhances the analysis capabilities of Arena by allowing you to search for optimal solutions within your simulation models. Many simulation models are embedded in the broader context of a decision problem, where the ultimate goal is to determine the best values for a set of controls. For example, you might be interested in having a model help you select a staffing configuration that optimizes some performance objective. One of the limitations of simulation models in general is that they basically act as “black boxes”—they can only evaluate the model for the controls that you’ve specified. Thus, to use a simulation model for evaluating the performance of a process, you must first select the specific staffing levels and then run a simulation to forecast the performance of that particular configuration.
Without an appropriate tool, finding an optimal solution for a simulation model generally requires that you search in a heuristic or ad hoc fashion. This usually involves running a simulation for an initial set of decision variables, analyzing the results, changing one or more variables, re-running the simulation, and repeating this process until a satisfactory solution is obtained. This process can be very tedious and time consuming even for small problems, and it is often not clear how to adjust the controls from one simulation to the next.
OptQuest overcomes this limitation by automatically searching for optimal solutions within Arena simulation models. You describe your optimization problem in OptQuest, then let it search for the values of controls that maximize or minimize a predefined objective. Additionally, OptQuest is designed to find solutions that satisfy a wide variety of constraints that you may define. Best of all, you don’t need to learn about the details of optimization algorithms to use it.
1 • Welcome

What does OptQuest do to my Arena model?

OptQuest automates, or controls, Arena to set variable values, start and continue simula­tion runs, and retrieve simulation results. The interface between the two programs is implemented using the Arena COM object model, which is also available to Arena users through VBA, Visual Basic
When OptQuest is launched, it checks the Arena model and loads information from the model, including the defined controls and responses, into its own database. The user then proceeds to define the optimization problem using OptQuest’s explorer interface.
When an optimization runs, OptQuest starts the simulation by issuing a start-over command. It then changes the values of the control variables and resource capacities to those identified by OptQuest for the simulation scenario. Next, OptQuest instructs Arena to perform the first replication.
®
, and other development tools.
1
ARENA OPTQUEST USERS GUIDE
• • • • •
The number of replications that Arena performs depends on the preferences you’ve established in OptQuest. After each replication, OptQuest retrieves from Arena the value of responses used in the objective function or constraint expression. This sequence is repeated until the specified number of simulations is run or you stop the optimization.
After determining the outcome of the model with one set of control values, OptQuest uses its search algorithm to establish a new set of values and repeats the simulation run process. This sequence is repeated until the allotted time expires or you terminate the optimization. When you exit OptQuest, Arena returns to the model edit state. Note that because all of the changes to control variables occur after the simulation has been initialized, the model retains the original values defined in Arena modules, unaffected by the experimentation performed by OptQuest.
It’s important to remember that the control values for your optimization are established by OptQuest at the beginning of the simulation run. If your model logic changes these values during the run, you may be invalidating the optimization study. For example, consider a situation where OptQuest has a control variable that can take values between 1 and 3. If the Arena model assigns this variable during the run (e.g., to a value of 5), then for the remainder of the run, Arena uses this newly assigned value, not the quantity passed to it by OptQuest. For more information on this topic, see “Designing your model for optimi­zation” on page 46.

Intended audience

OptQuest for Arena is designed for manufacturing or business process consultants and analysts and industrial or systems engineers. It is typically deployed as an enterprise business analysis and productivity tool.
We assume that you are familiar with the basic concepts and terms used in these types of systems. You are interested in improving business or manufacturing productivity and are responsible for evaluating and predicting the impact of proposed strategic and tactical
®
changes to help improve performance. A familiarity with computers and the Microsoft
®
Windows
operating system is assumed. A familiarity with the concepts and terms used
in simulation is also helpful.
Not all application templates or user-defined templates are suitable for optimization using OptQuest.

Where can I go for help?

Our commitment to your success starts with the suite of learning aids and assistance we provide for Arena. Whether you’re new to simulation or a seasoned veteran putting a new tool to use, you’ll quickly feel at home with the Arena product suite.
2
1 WELCOME TO OPTQUEST FOR ARENA

Reference the user’s guide

For assistance with your optimization, we recommend that you consult this Arena OptQuest User’s Guide and the online help available in the software.
D
OCUMENT CONVENTIONS
Throughout the guides, a number of style conventions are used to help identify material. New terms and concepts may be emphasized by use of italics or bold; file menu paths are in bold with a (>) separating the entries (e.g., go to Help > Arena Help); text you are asked to type is shown in Courier Bold (e.g., in this field, type Work Week), and dialog box and window button names are shown in bold (e.g., click OK).

Get help

Online help is always at your fingertips! A separate help structure is available in OptQuest for Arena to guide you with your optimization efforts. Just refer to the help table of contents and index for a list of all help topics.

Get phone support

Rockwell Automation provides full support for the entire Arena family of products. Questions concerning installation, how modules work, the use of the model editor, and the use of the software are handled by technical support.
• • • • •
1 • Welcome
A
RENA TECHNICAL SUPPORT INCLUDES
(for users on active maintenance) a technical support hotline and e-mail address
:
staffed by full-time, experienced professionals
help with installation problems or questions related to the software’s requirementstroubleshootinglimited support regarding the interaction of Arena with other programssupport of the Arena Object Model, which is used in Microsoft Visual Basic for
Applications.
3
ARENA OPTQUEST USERS GUIDE
• • • • •
If you call the support line (1.440.646.3434), you should be at your computer and be prepared to give the following information:
the product serial number the product version numberthe operating system you are usingthe exact wording of any messages that appeared on your screena description of what happened and what you were doing when the problem occurreda description of how you tried to solve the problem

Get Web support

In addition to phone support, the Rockwell Automation Customer Support Center offers extensive online knowledgebases of tech notes and frequently asked questions for support of non-urgent issues. These databases are updated daily by our support specialists.
To receive regular e-mail messages with links to the latest tech notes, software updates, and firmware updates for the products that are of interest to you or to submit an online support request, register through http://support.rockwellautomation.com/
And be sure to check the Arena User Zone section of our Web site at www.ArenaSimula­tion.com. The User Zone links to a peer-to-peer forum on Arena topics and has a link to a download page where you can check for possible software updates (patches). If you can’t find the answer you need, contact your local representative or Arena technical support.
.

Get training

Do you need training? Rockwell Automation offers a standard training course comprised of lecture and hands-on workshops designed to introduce you to the fundamental concepts of modeling with Arena.
We also offer customized training courses designed to meet your specific needs. These courses can be held in our offices or yours, and we can accommodate one person or twenty. You design the course that’s right for you! Simply contact our consulting services group to discuss how we can help you achieve success in your simulation efforts.

Get consulting services

Rockwell Automation provides expert consulting and turnkey implementation of the entire Arena product suite. Please contact our offices for more information.
4
1 WELCOME TO OPTQUEST FOR ARENA

Contact us

We strive to help all of our customers become successful in their manufacturing improve­ment efforts. Toward this objective, we invite you to contact your local representative or Rockwell Automation at any time that we may be of service to you.
Support E-mail: Arena-Support@ra.rockwell.com
Corporate E-mail: Arena-Info@ra.rockwell.com
Support phone: 1.440.646.3434
URL: www.ArenaSimulation.com
URL: www.rockwellautomation.com
• • • • •
1 • Welcome
5
ARENA OPTQUEST USERS GUIDE
• • • • •
6
2

Getting Started

How OptQuest works

Recent developments in the area of optimization have allowed for the creation of intelligent search methods capable of finding optimal or near optimal solutions to complex problems involving elements of uncertainty. Often, optimal solutions can be found among large sets of possible solutions even when exploring only a small fraction of them. OptQuest is the result of implementing these search technologies in combination with simulation models built for Arena.
Once the optimization problem is described (by means of selecting controls, the objective, and possibly imposing constraints), Arena is called every time a different set of control values needs to be evaluated. The optimization method used by OptQuest evaluates the responses from the current simulation run, analyzes and integrates these with responses from previous simulation runs, and determines a new set of values for the controls, which are then evaluated by running the Arena model. This is an iterative process that successively generates new sets of values for the controls, not all of them improving, but which, over time, provides a highly efficient trajectory to the best solutions. The process continues until some termination criterion is satisfied—usually stopping after a number of simulations or when the OptQuest determines the objective value has stopped improving. Its ultimate goal is to find the solution that optimizes (maximizes or minimizes) the value of the model’s objective.
Once OptQuest exits, the controls in the Arena model are returned to their original default values. The Arena model is completely unaffected by OptQuest.
2 • Getting Started

The OptQuest user interface

OptQuest for Arena now has a tree-structured user interface that displays the optimization model components (controls, responses, constraints, objectives, suggested solutions, and options) as nodes in the tree structure in the leftmost pane. When selected, each node displays its summary grid in the righthand pane. Entries in the tree containing a plus/minus (+/-) sign before the descriptor name may be expanded or collapsed to reveal or hide the sub-categories. Selecting the main level displays the summary sheet, while selecting the sub-category displays the editing window for the selected node.
Some individual nodes in the tree will display a right-click context menu option. Each represents an action that is specific to the tree item (not all nodes have a context menu). For example, a right-click on Controls displays either Expand or Collapse, depending on
7
ARENA OPTQUEST USERS GUIDE
• • • • •
the tree status, while a right-click on Constraints or Objectives displays an Add New option.
The columns on each summary sheet may be reordered simply by clicking on the heading of the chosen column heading.
Any entry made to an edit window will be saved when you click OK, even if it is invalid. If you enter invalid information, a warning flag ( ) will display on the summary sheet as well as marking the location of the error on the individual edit window. Once a window contains a valid entry, the error flag will disappear.

First tutorial: Mega Movie model

The easiest way to understand what OptQuest does is to apply it to a simple example. The Mega Movie Corporation is studying the most effective placement of staff in their movie theater complex. The company’s main objective is to maximize net profits, while
8
2 GETTING STARTED
restricting the staff to a total of eight people. Additional staff restrictions apply to each function, as shown in the following table.
Staff Lower Bound Current Staffing Upper Bound
Main Refreshment Staff 1 2 4
Satellite Refreshment Staff 1 1 4
Ticket Takers 1 2 3
The decision problem is to address how to staff each function considering the limit on the total number of people.
To begin the first tutorial:
1. Start Arena.
2. Open the Movie Theater Design.doe model from the Arena Examples folder.
Before running OptQuest, determine the decision resources and variables. In this model, the staff performing each function are defined as resources in the modules. The capacities of the resources will be used as controls (i.e., values to vary in different scenarios) in our optimization study.
• • • • •
2 • Getting Started

Running OptQuest

Use the following steps to run OptQuest for the Movie Theater Design model.
1. To start OptQuest from Arena, select Tools > OptQuest for Arena.
This will invoke the initial OptQuest window.
2. Select New Optimization.
When you start a new file, OptQuest presents the first of the main configuration windows. We will open these windows in a specific order in this tutorial, but you can revisit any window via the tree pane or by choosing from the selections on the View menu.
First, the Controls Summary window appears showing a grid of variables and resources from the Arena model.
9
ARENA OPTQUEST USERS GUIDE
• • • • •
3. Select controls for the optimization.
Select the MAIN REFRESHMENT STAFF, SATELLITE REFRESHMENT STAFF, and TICKET TAKERS for optimization by clicking on their corresponding Included check box.
4. Modify bounds and suggested values for each of the Resource controls by double­clicking the row or by selecting the named control in the tree view.
Adjust the upper bounds for MAIN REFRESHMENT STAFF and SATELLITE REFRESHMENT STAFF to match the ones given in the previous table.
5. Next we’ll open the Responses Summary window by selecting the Responses node from the tree view or clicking View > Responses to show the resulting values or outputs from the Arena simulation. This output cannot be modified; however, management wants us to maximize net profits, so we want to select the Net Profit variable by checking the corresponding box in the Included column. Re-order the list by clicking on the Included header until Net Profit is at the top of the grid.
10
6. Select the Constraints node from the tree view or click View > Constraints to display the Constraint Summary grid.
Since the total staff should not exceed eight people, we must add a constraint to limit the search to solutions that satisfy this management restriction.
Click Add to insert a constraint named may type
Total Staff
in the Description field.
Constraint 1
to represent Total Staff. You
2 GETTING STARTED
To add the constraint, click the Sum All Controls button from the controls on the right-hand side of the window. Modify the Expression line by selecting <= and typing
8
to complete the entry. The new entry should read as follows:
1 * [Main Refreshment Staff] + 1 * [Satellite Refreshment Staff] + 1 * [Ticket Takers] <= 8
• • • • •
2 • Getting Started
11
ARENA OPTQUEST USERS GUIDE
• • • • •
7. Next we’ll define the objective, so select the Objectives node from the tree or click View > Objectives.
As previously stated, management wants to maximize net profits. To accomplish this, we’ll use the maximum of the Net Profit variable as the objective in our optimization model.
To define the objective, click Add Objective. (We’ll accept the default name.) For the Expression field, select the Net Profit variable from the window above. You can confirm the validity of the expression by clicking Check Expression. Be sure to select the Maximize field.
12
2 GETTING STARTED
8. To set various optimization options, select the Options node from the tree view or click View > Options.
For the Movie Theater Design tutorial, we’ll accept the default settings and will simply click Optimize to run the optimization. (Details of the Options settings will be addressed in Chapter 4.)
• • • • •
2 • Getting Started
While the optimization is running, the Optimization pane will show the progress of the search. The grid at the top displays the best objective value found so far as well as the objective value for the current solution. The Controls grid displays the values for each control for the best solution and the current solution. If you have defined constraints, the Constraints grid will tell you if the best solution satisfies the constraint (feasible) or violates the constraint (infeasible).
13
Loading...
+ 37 hidden pages