Nothing Special   »   [go: up one dir, main page]

PDF Business Analytics For Decision Making First Edition Kimbrough Ebook Full Chapter

Download as pdf or txt
Download as pdf or txt
You are on page 1of 53

Business Analytics for Decision Making

First Edition Kimbrough


Visit to download the full and correct content document:
https://textbookfull.com/product/business-analytics-for-decision-making-first-edition-ki
mbrough/
More products digital (pdf, epub, mobi) instant
download maybe you interests ...

Business Analytics Data Analysis Decision Making 6th


Edition S. Christian Albright

https://textbookfull.com/product/business-analytics-data-
analysis-decision-making-6th-edition-s-christian-albright/

Business Analytics: Data Analysis & Decision Making


(MindTap Course List) 7th Edition Albright

https://textbookfull.com/product/business-analytics-data-
analysis-decision-making-mindtap-course-list-7th-edition-
albright/

Accounting: Business Reporting for Decision Making


(Sixth Edition) Jacqueline Birt

https://textbookfull.com/product/accounting-business-reporting-
for-decision-making-sixth-edition-jacqueline-birt/

Accounting: Business Reporting for Decision Making


(Seventh Edition) Jacqueline Birt

https://textbookfull.com/product/accounting-business-reporting-
for-decision-making-seventh-edition-jacqueline-birt/
Metaheuristics for Business Analytics: A Decision
Modeling Approach 1st Edition Abraham Duarte

https://textbookfull.com/product/metaheuristics-for-business-
analytics-a-decision-modeling-approach-1st-edition-abraham-
duarte/

Data Science for Business and Decision Making 1st


Edition Luiz Paulo Fávero

https://textbookfull.com/product/data-science-for-business-and-
decision-making-1st-edition-luiz-paulo-favero/

Decision Support Systems V Big Data Analytics for


Decision Making First International Conference ICDSST
2015 Belgrade Serbia May 27 29 2015 Proceedings 1st
Edition Boris Delibaši■
https://textbookfull.com/product/decision-support-systems-v-big-
data-analytics-for-decision-making-first-international-
conference-icdsst-2015-belgrade-serbia-
may-27-29-2015-proceedings-1st-edition-boris-delibasic/

Business Ethics: Decision Making for Personal Integrity


& Social Responsibility 4th Edition Laura Hartman

https://textbookfull.com/product/business-ethics-decision-making-
for-personal-integrity-social-responsibility-4th-edition-laura-
hartman/

Data Analysis for Business Decision Making: A


Laboratory manual 2nd Edition Andres Fortino

https://textbookfull.com/product/data-analysis-for-business-
decision-making-a-laboratory-manual-2nd-edition-andres-fortino/
Business Analytics
for Decision Making
This page intentionally left blank
Business Analytics
for Decision Making

Steven Orla Kimbrough


The Wharton School
University of Pennsylvania
Philadelphia, USA

Hoong Chuin Lau


School of Information Systems
Singapore Management University
Singapore
CRC Press
Taylor & Francis Group
6000 Broken Sound Parkway NW, Suite 300
Boca Raton, FL 33487-2742
© 2016 by Taylor & Francis Group, LLC
CRC Press is an imprint of Taylor & Francis Group, an Informa business

No claim to original U.S. Government works


Version Date: 20151019

International Standard Book Number-13: 978-1-4822-2177-0 (eBook - PDF)

This book contains information obtained from authentic and highly regarded sources. Reasonable efforts have been
made to publish reliable data and information, but the author and publisher cannot assume responsibility for the valid-
ity of all materials or the consequences of their use. The authors and publishers have attempted to trace the copyright
holders of all material reproduced in this publication and apologize to copyright holders if permission to publish in this
form has not been obtained. If any copyright material has not been acknowledged please write and let us know so we may
rectify in any future reprint.

Except as permitted under U.S. Copyright Law, no part of this book may be reprinted, reproduced, transmitted, or uti-
lized in any form by any electronic, mechanical, or other means, now known or hereafter invented, including photocopy-
ing, microfilming, and recording, or in any information storage or retrieval system, without written permission from the
publishers.

For permission to photocopy or use material electronically from this work, please access www.copyright.com (http://
www.copyright.com/) or contact the Copyright Clearance Center, Inc. (CCC), 222 Rosewood Drive, Danvers, MA 01923,
978-750-8400. CCC is a not-for-profit organization that provides licenses and registration for a variety of users. For
organizations that have been granted a photocopy license by the CCC, a separate system of payment has been arranged.

Trademark Notice: Product or corporate names may be trademarks or registered trademarks, and are used only for
identification and explanation without intent to infringe.
Visit the Taylor & Francis Web site at
http://www.taylorandfrancis.com
and the CRC Press Web site at
http://www.crcpress.com
Contents

Preface xi

List of Figures xvii

List of Tables xxi

I Starters 1
1 Introduction 3

1.1 The Computational Problem Solving Cycle . . . . . . . . . . . . . . . . . . 3


1.2 Example: Simple Knapsack Models . . . . . . . . . . . . . . . . . . . . . . 6
1.3 An Example: The Eilon Simple Knapsack Model . . . . . . . . . . . . . . . 9
1.4 Scoping Out Post-Solution Analysis . . . . . . . . . . . . . . . . . . . . . . 11
1.4.1 Sensitivity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.4.2 Policy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.4.3 Outcome Reach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.4.4 Opportunity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.4.5 Robustness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.4.6 Explanation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.4.7 Resilience . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.5 Parameter Sweeping: A Method for Post-Solution Analysis . . . . . . . . . 18
1.6 Decision Sweeping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
1.7 Summary of Vocabulary and Main Points . . . . . . . . . . . . . . . . . . . 20
1.8 For Exploration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
1.9 For More Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

2 Constrained Optimization Models: Introduction and Concepts 25

2.1 Constrained Optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25


2.2 Classification of Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.2.1 (1) Linear Program (LP) . . . . . . . . . . . . . . . . . . . . . . . . 30
2.2.2 (2) Integer Linear Program (ILP) . . . . . . . . . . . . . . . . . . . . 31
2.2.3 (3) Mixed Integer Linear Program (MILP) . . . . . . . . . . . . . . 31
2.2.4 (4) Nonlinear Program (NLP) . . . . . . . . . . . . . . . . . . . . . . 32
2.2.5 (5) Nonlinear Integer Program (NLIP) . . . . . . . . . . . . . . . . . 33
2.2.6 (6) Mixed Integer Nonlinear Program (MINLP) . . . . . . . . . . . . 33
2.3 Solution Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.4 Computational Complexity and Solution Methods . . . . . . . . . . . . . . 35
2.5 Metaheuristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
2.5.1 Greedy Hill Climbing . . . . . . . . . . . . . . . . . . . . . . . . . . 37
2.5.2 Local Search Metaheuristics: Simulated Annealing . . . . . . . . . . 39

v
vi Contents

2.5.3 Population Based Metaheuristics: Evolutionary Algorithms . . . . . 39


2.6 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
2.7 For Exploration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
2.8 For More Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

3 Linear Programming 43

3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.2 Wagner Diet Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.3 Solving an LP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.4 Post-Solution Analysis of LPs . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.5 More than One at a Time: The 100% Rule . . . . . . . . . . . . . . . . . . 53
3.6 For Exploration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
3.7 For More Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

II Optimization Modeling 59
4 Simple Knapsack Problems 61

4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
4.2 Solving a Simple Knapsack in Excel . . . . . . . . . . . . . . . . . . . . . . 61
4.3 The Bang-for-Buck Heuristic . . . . . . . . . . . . . . . . . . . . . . . . . . 62
4.4 Post-Solution Analytics with the Simple Knapsack . . . . . . . . . . . . . . 64
4.4.1 Sensitivity Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
4.4.2 Candle Lighting Analysis . . . . . . . . . . . . . . . . . . . . . . . . 71
4.5 Creating Simple Knapsack Test Models . . . . . . . . . . . . . . . . . . . . 72
4.6 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
4.7 For Exploration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
4.8 For More Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

5 Assignment Problems 81

5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
5.2 The Generalized Assignment Problem . . . . . . . . . . . . . . . . . . . . . 82
5.3 Case Example: GAP 1-c5-15-1 . . . . . . . . . . . . . . . . . . . . . . . . . 85
5.4 Using Decisions from Evolutionary Computation . . . . . . . . . . . . . . . 86
5.5 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
5.6 For Exploration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
5.7 For More Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96

6 The Traveling Salesman Problem 97

6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
6.2 Problem Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
6.3 Solution Approaches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
6.3.1 Exact Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
6.3.2 Heuristic Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
6.3.2.1 Construction Heuristics . . . . . . . . . . . . . . . . . . . . 101
6.3.2.2 Iterative Improvement or Local Search . . . . . . . . . . . 102
6.3.3 Putting Everything Together . . . . . . . . . . . . . . . . . . . . . . 103
6.4 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
Contents vii

6.5 For Exploration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107


6.6 For More Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109

7 Vehicle Routing Problems 111

7.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111


7.2 Problem Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
7.3 Solution Approaches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
7.3.1 Exact Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
7.3.2 Heuristic Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
7.3.2.1 Construction Heuristics . . . . . . . . . . . . . . . . . . . . 115
7.3.2.2 Iterative Improvement or Local Search . . . . . . . . . . . 115
7.4 Extensions of VRP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
7.5 For Exploration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
7.6 For More Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117

8 Resource-Constrained Scheduling 119

8.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119


8.2 Formal Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
8.3 Solution Approaches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
8.3.1 Exact Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
8.3.2 Heuristic Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
8.3.2.1 Serial Method . . . . . . . . . . . . . . . . . . . . . . . . . 123
8.3.2.2 Parallel Method . . . . . . . . . . . . . . . . . . . . . . . . 123
8.3.2.3 Iterative Improvement or Local Search . . . . . . . . . . . 123
8.4 Extensions of RCPSP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
8.5 For Exploration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
8.6 For More Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127

9 Location Analysis 129

9.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129


9.2 Locating One Service Center . . . . . . . . . . . . . . . . . . . . . . . . . . 130
9.2.1 Minimizing Total Distance . . . . . . . . . . . . . . . . . . . . . . . . 130
9.2.2 Weighting by Population . . . . . . . . . . . . . . . . . . . . . . . . 132
9.3 A Naı̈ve Greedy Heuristic for Locating n Centers . . . . . . . . . . . . . . 132
9.4 Using a Greedy Hill Climbing Heuristic . . . . . . . . . . . . . . . . . . . . 136
9.5 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
9.6 For Exploration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
9.7 For More Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147

10 Two-Sided Matching 149

10.1 Quick Introduction: Two-Sided Matching Problems . . . . . . . . . . . . . 149


10.2 Narrative Description of Two-Sided Matching Problems . . . . . . . . . . . 150
10.3 Representing the Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
10.4 Stable Matches and the Deferred Acceptance Algorithm . . . . . . . . . . . 154
10.5 Once More, in More Depth . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
10.6 Generalization: Matching in Centralized Markets . . . . . . . . . . . . . . . 156
10.7 Discussion: Complications . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
10.8 For More Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
viii Contents

III Metaheuristic Solution Methods 161


11 Local Search Metaheuristics 163

11.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163


11.2 Greedy Hill Climbing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
11.2.1 Implementation in Python . . . . . . . . . . . . . . . . . . . . . . . . 165
11.2.2 Experimenting with the Greedy Hill Climbing Implementation . . . 167
11.3 Simulated Annealing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
11.4 Running the Simulated Annealer Code . . . . . . . . . . . . . . . . . . . . 172
11.5 Threshold Accepting Algorithms . . . . . . . . . . . . . . . . . . . . . . . . 172
11.6 Tabu Search . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
11.7 For Exploration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
11.8 For More Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177

12 Evolutionary Algorithms 179

12.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179


12.2 EPs: Evolutionary Programs . . . . . . . . . . . . . . . . . . . . . . . . . . 181
12.2.1 The EP Procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
12.2.2 Applying the EP Code to the Test Problems . . . . . . . . . . . . . 184
12.2.3 EP Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
12.3 The Basic Genetic Algorithm (GA) . . . . . . . . . . . . . . . . . . . . . . 188
12.3.1 The GA Procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
12.3.2 Applying the Basic GA Code to a Test Problem . . . . . . . . . . . 193
12.3.3 GA Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
12.4 For Exploration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
12.5 For More Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195

13 Identifying and Collecting Decisions of Interest 197

13.1 Kinds of Decisions of Interest (DoIs) . . . . . . . . . . . . . . . . . . . . . . 197


13.2 The FI2-Pop GA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
13.3 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
13.4 For Exploration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
13.5 For More Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202

IV Post-Solution Analysis of Optimization Models 203


14 Decision Sweeping 205

14.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205


14.2 Decision Sweeping with the GAP 1-c5-15-1 Model . . . . . . . . . . . . . . 205
14.3 Deliberating with the Results of a Decision Sweep . . . . . . . . . . . . . . 207
14.4 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
14.5 For Exploration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
14.6 For More Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
Contents ix

15 Parameter Sweeping 219

15.1 Introduction: Reminders on Solution Pluralism and Parameter Sweeping . 219


15.2 Parameter Sweeping: Post-Solution Analysis by Model Re-Solution . . . . 220
15.2.1 One Parameter at a Time . . . . . . . . . . . . . . . . . . . . . . . . 221
15.2.2 Two Parameters at a Time . . . . . . . . . . . . . . . . . . . . . . . 222
15.2.3 N Parameters at a Time . . . . . . . . . . . . . . . . . . . . . . . . 222
15.2.4 Sampling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
15.2.5 Active Nonlinear Tests . . . . . . . . . . . . . . . . . . . . . . . . . . 225
15.3 Parameter Sweeping with Decision Sweeping . . . . . . . . . . . . . . . . . 225
15.4 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
15.5 For Exploration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
15.6 For More Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227

16 Multiattribute Utility Modeling 229

16.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229


16.2 Single Attribute Utility Modeling . . . . . . . . . . . . . . . . . . . . . . . 230
16.2.1 The Basic Framework . . . . . . . . . . . . . . . . . . . . . . . . . . 230
16.2.2 Example: Bringing Wine . . . . . . . . . . . . . . . . . . . . . . . . . 231
16.3 Multiattribute Utility Models . . . . . . . . . . . . . . . . . . . . . . . . . . 234
16.3.1 Multiattribute Example: Picking a Restaurant . . . . . . . . . . . . 235
16.3.2 The SMARTER Model Building Methodology . . . . . . . . . . . . . 236
16.3.2.1 Step 1: Purpose and Decision Makers . . . . . . . . . . . . 236
16.3.2.2 Step 2: Value Tree . . . . . . . . . . . . . . . . . . . . . . . 236
16.3.2.3 Step 3: Objects of Evaluation . . . . . . . . . . . . . . . . . 236
16.3.2.4 Step 4: Objects-by-Attributes Table . . . . . . . . . . . . . 237
16.3.2.5 Step 5: Dominated Options . . . . . . . . . . . . . . . . . . 237
16.3.2.6 Step 6: Single-Dimension Utilities . . . . . . . . . . . . . . 237
16.3.2.7 Step 7: Do Part I of Swing Weighting . . . . . . . . . . . . 238
16.3.2.8 Step 8: Obtain the Rank Weights . . . . . . . . . . . . . . 238
16.3.2.9 Step 9: Calculate the Choice Utilities and Decide . . . . . . 239
16.4 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
16.5 For Exploration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
16.6 For More Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240

17 Data Envelopment Analysis 243

17.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243


17.2 Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
17.3 Demonstration of DEA Concept . . . . . . . . . . . . . . . . . . . . . . . . 247
17.4 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
17.5 For Exploration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
17.6 For More Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250

18 Redistricting: A Case Study in Zone Design 253

18.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253


18.2 The Basic Redistricting Formulation . . . . . . . . . . . . . . . . . . . . . . 254
18.3 Representing and Formulating the Problem . . . . . . . . . . . . . . . . . . 255
18.4 Initial Forays for Discovering Good Districting Plans . . . . . . . . . . . . 258
x Contents

18.5 Solving a Related Solution Pluralism Problem . . . . . . . . . . . . . . . . 267


18.6 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272
18.7 For Exploration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
18.8 For More Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276

V Conclusion 279
19 Conclusion 281

19.1 Looking Back . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281


19.2 Revisiting Post-Solution Analysis . . . . . . . . . . . . . . . . . . . . . . . 281
19.3 Looking Forward . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
19.3.1 Uncertainty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
19.3.2 Argumentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287

A Resources 289

A.1 Resources on the Web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289

Bibliography 291

Index 303
Preface

Business analytics is about using data and models to solve—or at least to help out on—
decision problems faced by individuals and organizations of all sorts. It is a broad, open,
and expanding concept, with many facets and with application well beyond the prototypical
context of a commercial venture. We take the term business analytics to apply in any situ-
ation in which careful decision making is undertaken based on models and data (including
text, video, graphic, etc. data, as well as standard numerical and transaction processing
data).
The two principal facets or aspects of business analytics are data analytics (associated
with the popular buzz term “big data”) and model analytics. These two facets, of course,
interact and overlap extensively. Models are needed for data analytics and model analytics
often, as we shall see, involve exploration of large corpora of data.
This book is mainly about model analytics, particularly model analytics for constrained
optimization. Moreover, our focus is unremittingly practical. To this end, we focus heavily on
parameter sweeping (a term of art in the simulation community, apt for but not much used
in optimization) and decision sweeping, a new term we introduce here. Both are methods
and conceptual tools for model analytics. The larger, governing principle is what we call
solution pluralism. It is constituted by the collection of multiple solutions to models as an
aid to deliberation with them.
Our primary topics emphasis is three-fold and distinctive in each case.
1. We focus on computationally challenging problems actually arising in business enter-
prises and contexts. This is natural for us because of where and who we teach, because
of the research we do, and simply because there are very many such problems.
2. We dwell extensively (but not exclusively) on using heuristics for solving difficult
constrained optimization problems. Modern metaheuristics—such as simulated an-
nealing and genetic algorithms, which we discuss in detail—have proved their worth
compellingly and have received enthusiastic uptake among practitioners. This book
is unusual among business analytics texts in focusing on using heuristics for solving
difficult optimization problems that are important in practice.
3. We emphasize throughout the use of constrained optimization models for decision
making. In consequence, post-solution analysis of models as it contributes to deliber-
ation for decision making is a main topic in the book. We take seriously the saying,
commonly assented to among practitioners, to the effect that after a model has been
specified, formulated, implemented, and solved, then the real work begins. This book
is very much about that real work, undertaken after a model has been solved. The em-
phasis on post-solution analysis is another distinctive feature of the book, motivated
by quite apparent practical needs.
Our emphasis on post-solution analysis is in distinction to the usual preoccupation with
model formulation and solution theory. These are important topics and we certainly touch
upon them in no small way, as is appropriate. Model formulation and model solution theory

xi
xii Preface

are topics that complement the study of post-solution analysis, which is a main concern in
this book.
Our intended audience for the book consists of those who would undertake serious de-
liberative decision making with models, in short, practitioners of business analytics both
present and future (that is, working professionals and university students). The subject is
larger than can be comprehensively treated in a single book, and we mean this book to be
introductory and accessible to a broad range of readers, having a broad range of mathe-
matical and computational preparation. We aim to present advanced ideas of post-solution
analysis and model-based deliberation in a way that is accessible to tyros and informative
for veteran practitioners.
Our approach, our strategy, is to pick a part of business analytics that is important in
itself, one that should be known by practitioners as an essential part of the background
knowledge for analytics (whether or not the analyst is working directly in the area) and
one that affords discussion of post-solution analysis of models. To that end and as already
noted, we have chosen that part of business analytics that contains model analytics for
constrained optimization models. Further to that end, the book dwells in large part on
combinatorial optimization problems, and the use of modern metaheuristics to solve them
and to obtain useful information from them for post-solution analysis. Programming is not
required to understand the material, but we make available programming examples for those
interested. We give examples in Excel, GAMS, MATLAB, and OPL. The metaheuristics
code is available online at the book’s Web site in a documented library of Python modules
(http://pulsar.wharton.upenn.edu/~sok/biz_analytics_rep), along with data, mate-
rial for homework exercises, and much else. For readers without programming skills, we
hope to communicate useful information about modeling and model deliberation with the
examples in the text. For readers chary of programming, we note that this material has
been taught and tested with many others who share your outlook. We do our best to make
valuable information for modern decision making accessible to all.
The book is organized into five parts, each containing one or more chapters that naturally
group together.
Part I, “Starters”, contains three chapters. Chapter 1, “Introduction,” frames the entire
book and introduces key concepts and terminology that are used throughout what follows.
Chapter 2, “Constrained Optimization Models: Introduction and Concepts,” is an
overview of the various kinds of constrained optimization models, categorized conventionally
for ease of reference to the literature. A higher level classification divides these models into
those that are tractable (relatively easy to solve, even for large instances) and those that
are intractable (in theory very difficult to solve when scaled up). Our attention in this book
is mainly directed at models in the intractable category and at how we can use heuristics
and metaheuristics to solve them and gain useful information from them for purposes of
decision making.
Chapter 3, “Linear Programming,” presents an overview of linear programming models.
These constrained optimization models are tractable. Large scale instances, with thousands
and even millions of decision variables, are widely deployed. Our treatment of linear pro-
gramming models is light and brief. We say what they are and give examples of how they
can be applied. We touch on solution methods and formulations. The exposition is introduc-
tory, with no attempt to be comprehensive. We aim to provide a useful point of departure
for exploration of post-solution analysis and deliberation, as well as for deeper exploration
of model formulation and solution theory. This is also the pattern we follow in Part II of
the book.
Part II, “Optimization Modeling,” consists of seven chapters, each providing an intro-
duction to an important class of (mostly) intractable constrained optimization models. As
is the case with linear programming, our treatment is brief, light, and broadly accessible.
Preface xiii

We aim to provide a useful point of departure for exploration of post-solution analysis and
deliberation, as well as for deeper exploration of model formulation and solution theory.
The seven classes of models are:
• Chapter 4, knapsack problems. These models are often used for R&D and for financial
portfolio planning.
• Chapter 5, assignment problems. These models are often used for assigning workers
to tasks in a factory or consulting firm.
• Chapter 6, traveling salesmen problems. These problems very often arise in trans-
portation, logistics, and tourism applications.
• Chapter 7, vehicle routing problems. These problems occur ubiquitously in service
firms having responsibilities that range geographically.
• Chapter 8, resource-constrained scheduling problems. These occur very often in
project scheduling for construction and manufacturing ventures, as well as elsewhere.
• Chapter 9, location analysis problems. These arise ubiquitously in siting service and
distribution centers, both for commercial ventures and governments. Related to these
are zone design problems (Chapter 18) that seek to find good service areas, given
demands. Designing sales and service districts are example applications.
• Chapter 10, two-sided matching problems. These are important for designing markets,
typically of buyers on one side and sellers on the other, when what is exchanged is
not a commodity.
Familiarity with and exposure to these seven classes of models, plus linear programming,
belongs in the intellectual armamentarium of every business analyst. Whether or not any
of these models are directly employed, familiarity with them affords a certain maturity of
mind that can recognize and act upon opportunities to improve deliberation and decision
making with models.
Part III, “Metaheuristic Solution Methods,” is about modern metaheuristics, which in
many if not most cases have become preferred methods for solving intractable optimization
problems. A heuristic is a method thought to perform well in most cases. We give exam-
ples throughout the discussion in Part II of heuristics for solving constrained optimization
problems. These traditional heuristics, however, are tailored to very specific model classes
and in many cases metaheuristics perform better. A metaheuristic may be thought of as
a general, parameterized heuristic. For example, genetic algorithms constitute a kind of
metaheuristic. They are general in that they apply very broadly and do not require (much)
problem specific information. Also, they are parameterized. For example, genetic algorithms
will typically have a mutation rate parameter (inspired by biological evolution), which can
be tuned for good performance on a particular class of problems. A genetic algorithm with
all of its parameters set—“instantiated”—constitutes a particular heuristic. Thus, genetic
algorithms in their various forms are said to constitute a metaheuristic because they may
be instantiated in indefinitely many ways to create particular heuristics. Genetic algorithms
are types of heuristics; instantiated as concrete procedures they are tokens of heuristics. The
point applies to other kinds of metaheuristics.
Part III contains three chapters. Chapter 11, “Local Search Metaheuristics,” presents,
motivates, and discusses several metaheuristics in the broader class of local search meta-
heuristics, including greedy hill climbing, simulated annealing, and tabu search. Using
Python code available on the book’s Web site, the chapter also discusses how these methods
may be used to solve exemplar problems discussed in Part II.
xiv Preface

Chapter 12, “Evolutionary Algorithms,” presents, motivates, and discusses several meta-
heuristics in the broader class of population-based metaheuristics, including evolutionary
programming and genetic algorithms. Again, using Python code available on the book’s
Web site, the chapter also discusses how these methods may be used to solve exemplar
problems discussed in Part II.
Chapter 13, “Identifying and Collecting Decisions of Interest,” bridges Parts III and
IV, “Post-Solution Analysis of Optimization Models.” The emphasis on metaheuristics is
a distinctive feature of this book, well justified by current developments in research and
trends in applications. Metaheuristics as we describe them are very commonly accepted and
deployed in practice. Chapter 13 develops connections between these two topics by showing
how metaheuristics may be used to generate and collect information that is valuable for
post-solution analysis. Metaheuristics thus receive a boost. Besides being appropriate when
exact methods fail and besides being useful for finding good starting solutions for exact
methods, metaheuristics are invaluable for post-solution analysis.
Part IV contains five chapters discussing post-solution analysis. The presentation is
example driven. Although we provide ample computational information for the interested
reader, the discussion is designed to be very broadly accessible.
Chapter 14, “Decision Sweeping,” is about using a plurality of solutions or decisions
for a model in support of decision making. It discusses how these data—the plurality of
solutions—obtained from metaheuristic solvers may be used to obtain rich corpora of deci-
sions of interest, and how these corpora may be used to support deliberative decision making
with models. Continuing to use a set of exemplar problems from Part II, the chapter presents
actual data produced by metaheuristic solution of the exemplar models and discusses its use
for decision making. An important point made by the examples is that the data so obtained
are easily understandable and afford deliberation by any general stakeholder.
Chapter 15, “Parameter Sweeping,” discusses how a plurality of solutions to a model,
obtained by varying its parameters systematically, may be used to support deliberative
decision making with the model. Again, the chapter presents actual data obtained from
exemplar models and shows how the results are easily understandable and afford deliberation
by any general stakeholder.
Chapter 16, “Multiattribute Utility Modeling,” presents the very basics of utility theory
and then discusses in detail how to build simple, practical, and useful models for comparing
entities on multiple dimensions at once. The method is quite general and has many success-
ful applications outside of model analytics. Our discussion of how to apply multiattribute
utility modeling for post-solution analysis is the first we know of. Essential to the project is
access to a corpus of solutions or decisions for the model(s) under consideration. The use of
metaheuristics not only for solving optimization models, but for generating useful corpora
of decisions, is a main theme in the book. Thus, the general method of multiattribute utility
modeling is linked innovatively with model analytics.
Chapter 17, “Data Envelopment Analysis,” shows how linear programming may be used
to filter a large number of found solutions for a model, as were produced and used in
Chapters 14 and 15, in order to distinguish efficient from inefficient solutions.
Chapter 18, “Redistricting: A Case Study in Zone Design,” is a case study of the applica-
tion of many of the post-solution analysis ideas found in this book. It describes work related
to a contest to design councilmanic districts in Philadelphia, work which was recognized
both in the original contest and in the INFORMS Wagner Prize competition.
Finally, Part V, “Conclusion,” consists of a single chapter, Chapter 19. It wraps up the
book and directs the reader to points beyond.

***
Preface xv

We wish explicitly to thank a number of people. Steven Bankes, Roberta Fallon, Mar-
garet Hall, Ann Kuo, Peter A. Miller, Fred Murphy, and Ben Wise each read portions of the
book and offered sage and useful comments. Nick Quintus did the excellent GIS work. Over
the years we have benefitted greatly from many ideas by and conversations with Steven
Bankes, Harvey Greenberg, Fred Glover, and Fred Murphy. Our heartfelt thanks to all.
This page intentionally left blank
List of Figures

1.1 Computational problem solving cycle. . . . . . . . . . . . . . . . . . . . . . 5


1.2 Canonical form for the Simple Knapsack model represented as a mathemat-
ical program. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.3 Matrix form for the Simple Knapsack model. . . . . . . . . . . . . . . . . . 8
1.4 Implementation in MATLAB of the Eilon Simple Knapsack Model [45].
(Line numbers added.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.5 Seven categories of representative questions addressed during post-solution
analysis. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

2.1 Abstract mathematical programming formalization for constrained


optimization models. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.2 A classification of mathematical programs. . . . . . . . . . . . . . . . . . . 29
2.3 A canonical schema for linear programming models. . . . . . . . . . . . . . 30
2.4 A token of an LP type in the canonical form of Figure 2.3, having three
decision variables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.5 A canonical schema for the Simple Knapsack model. . . . . . . . . . . . . 31
2.6 LP relaxation of the Simple Knapsack model in Figure 2.5. . . . . . . . . . 31
2.7 A schema for a mixed integer linear program (MILP). . . . . . . . . . . . 32
2.8 Greedy hill climbing procedure. . . . . . . . . . . . . . . . . . . . . . . . . 38

3.1 Wagner Diet linear programming model [151]. . . . . . . . . . . . . . . . . 44


3.2 Excel formulation of the Wagner Diet problem. . . . . . . . . . . . . . . . 46
3.3 Excel Solver setup for Wagner Diet problem. . . . . . . . . . . . . . . . . . 47
3.4 Excel Solver execution report. . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.5 Excel Answer report for the Wagner Diet model. . . . . . . . . . . . . . . 49
3.6 Excel Sensitivity report for the Wagner Diet model. . . . . . . . . . . . . . 50
3.7 Excel Limits report for the Wagner Diet model. . . . . . . . . . . . . . . . 52
3.8 MATLAB script to solve the Wagner Diet problem. . . . . . . . . . . . . . 54
3.9 Objective coefficient formula. z ∗ = current optimal value of objective func-
tion. ∆cj amount of increase in cj (objective function coefficient for decision
variable xj ). z 0 = value of objective function with the change to cj . Valid
for ∆cj within the allowable range. The optimal decision variable values
remain unchanged . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
3.10 Shadow price formula. z ∗ = current optimal value of objective function.
∆bi amount of increase in bi (right-hand-side value of the constraint). λi
= shadow price of the constraint. z 0 = value of objective function with an
optimal solution to the revised problem. Valid for ∆bi within the allowable
range. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

xvii
xviii List of Figures

3.11 100% rule for constraint RHS values. z ∗ = current optimal value of objective
function. ∆bi amount of increase (positive or negative) in bi (right-hand-side
value of the constraint). λi = shadow price of the constraint (the change in
the objective function value per unit increase in bi ). z 0 = value of objective
function with an optimal solution to the revised problem. Valid for ∆bi s
within their allowable ranges. . . . . . . . . . . . . . . . . . . . . . . . . . 56
3.12 100% rule for objective function coefficients. z ∗ = current optimal value
of objective function. ∆cj amount of increase (positive or negative) in cj
(objective function coefficient on decision variable xj ). x∗j s = optimal values
of the problem’s decision variables, xj s. z 0 = value of objective function to
the revised problem (for which the x∗j s are unchanged). Valid for ∆cj s within
their allowable ranges. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
3.13 Custom-molder linear programming model. . . . . . . . . . . . . . . . . . 57

4.1 Solving the Eilon Simple Knapsack model in Excel. . . . . . . . . . . . . . 62


4.2 Solving the Eilon Simple Knapsack model with bang-for-buck, first infeasi-
bility with b = 645. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
4.3 Solving the Eilon Simple Knapsack model with bang-for-buck, solution with
b = 645. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
4.4 Solving the Eilon Simple Knapsack model to optimality, with b = 645. . . 67
4.5 Sensitivity report on the Eilon Simple Knapsack model, with b = 645 and
varying c6 , as solved multiple times (41 in all) by the bang-for-buck
heuristic. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
4.6 Sensitivity report on the Eilon Simple Knapsack model, with b = 645 and
varying w2 , as solved multiple times (85 in all) by the bang-for-buck
heuristic. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
4.7 Candle lighting analysis: The Eilon model objective value as a function of
its constraint RHS value. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
4.8 Candle lighting analysis: Available slack with different values of b in the
Eilon model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
4.9 The file aknapsackexcel1.txt imported as data into Excel. . . . . . . . . . 75
4.10 Excel Solver setup for aknapsack1. . . . . . . . . . . . . . . . . . . . . . . 76
4.11 Excel Solver solution output for aknapsack1. . . . . . . . . . . . . . . . . . 77

5.1 The simple assignment problem formulated as an integer program. . . . . 82


5.2 A simple assignment problem solved in Excel. . . . . . . . . . . . . . . . . 83
5.3 The generalized assignment problem formulated as an integer program. . . 84
5.4 Objective function coefficients for GAP 1-c5-15-1. Rows: 5 agents. Columns:
15 jobs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
5.5 Constraint coefficients for GAP 1-c5-15-1. Rows: 5 agents. Columns:
15 jobs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
5.6 Constraint right-hand-side values for GAP 1-c5-15-1. . . . . . . . . . . . . 85
5.7 GAP 1-c5-15-1: A small GAP solved in Excel. . . . . . . . . . . . . . . . . 87
5.8 Excel Solver settings for GAP 1-c5-15-1. . . . . . . . . . . . . . . . . . . . 88
5.9 A generalized assignment problem model implemented in OPL. . . . . . . 89
5.10 GAP solver function in MATLAB. . . . . . . . . . . . . . . . . . . . . . . 90
5.11 MATLAB script to test the gap solver function. . . . . . . . . . . . . . . . 91
5.12 Outline of evolutionary computation procedures (EC). . . . . . . . . . . . 92

6.1 TSP example with solution. . . . . . . . . . . . . . . . . . . . . . . . . . . 98


6.2 A disconnected (hence invalid) solution. . . . . . . . . . . . . . . . . . . . 100
List of Figures xix

6.3 Example of a nearest neighbor heuristic for finding a TSP solution. . . . . 101
6.4 TSP: Cheapest versus nearest insertion heuristics. . . . . . . . . . . . . . . 102
6.5 Initial tour is 1-2-3-4-5 with cost 15. . . . . . . . . . . . . . . . . . . . . . 103
6.6 A first local improvement. . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
6.7 A second local improvement. . . . . . . . . . . . . . . . . . . . . . . . . . . 104
6.8 Scatter plot of 20 jobs. Depot at center as -101. . . . . . . . . . . . . . . . 105
6.9 The 20 jobs of Figure 6.8 sequenced in a random order. . . . . . . . . . . . 106
6.10 The 20 jobs of Figure 6.8 sequenced with a simple insertion procedure. . . 107
6.11 The 20 jobs of Figure 6.8 sequenced with a 2-opt procedure. . . . . . . . . 108
6.12 The best sequencing of the 20 jobs of Figure 6.8 found by 100 2-opt trials. 109

7.1 A VRP instance and an optimal solution . . . . . . . . . . . . . . . . . . . 112


7.2 Iterated Tour Partitioning heuristic. . . . . . . . . . . . . . . . . . . . . . 114
7.3 Clarke-Wright Savings heuristic. . . . . . . . . . . . . . . . . . . . . . . . . 114
7.4 One step of the Clark-Wright Savings heuristic. . . . . . . . . . . . . . . . 115
7.5 Common local search neighborhoods for VRP. . . . . . . . . . . . . . . . . 116

8.1 An RCPSP instance (top) and its solution (bottom). . . . . . . . . . . . . 121


8.2 Tracing the Serial method. . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
8.3 Tracing the Serial method (Cont’d). . . . . . . . . . . . . . . . . . . . . . . 125
8.4 Tracing the Parallel method. . . . . . . . . . . . . . . . . . . . . . . . . . . 126
8.5 Tracing the Parallel method (Cont’d). . . . . . . . . . . . . . . . . . . . . 127

9.1 Philadelphia census tract map with high quality tracts highlighted, and #0,
the putative best, separately distinguished. . . . . . . . . . . . . . . . . . . 134
9.2 Pseudocode description of one run of the greedy hill climbing
metaheuristic. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
9.3 More specific pseudocode description of the greedy hill climbing
metaheuristic. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
9.4 Best found decision. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145

10.1 Pseudocode for the deferred acceptance algorithm (DAA) for the simple
marriage matching problem, Xs proposing to Y s. . . . . . . . . . . . . . . 156

11.1 Pseudocode for a version of a greedy hill climbing metaheuristic. . . . . . 164


11.2 From greedy hill climber.py, an implementation of a greedy hill climbing
metaheuristic in Python. (Line numbers added.) . . . . . . . . . . . . . . . 168
11.3 High-level pseudocode for simulated annealing. . . . . . . . . . . . . . . . 171

12.1 Evolutionary algorithms: high-level pseudocode. . . . . . . . . . . . . . . . 180


12.2 High-level pseudocode for an evolutionary program. . . . . . . . . . . . . . 182
12.3 High-level pseudocode for the basic GA. . . . . . . . . . . . . . . . . . . . 189
12.4 Elaborated pseudocode for the basic GA. . . . . . . . . . . . . . . . . . . . 190
12.5 Pseudocode for tournament-2 selection of decisions for a constrained
optimization model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191

13.1 Basic genetic algorithm: high-level pseudocode. . . . . . . . . . . . . . . . 200


13.2 High-level pseudocode for the FI2-Pop GA [100]. . . . . . . . . . . . . . . 201

15.1 Plot of the inverse tangent function from -20 to 20. . . . . . . . . . . . . . 221
15.2 Example of z ∗ changes in a linear program as a result of changes in an
objective function coefficient. . . . . . . . . . . . . . . . . . . . . . . . . . 222
xx List of Figures

16.1 Decision tree representation of a decision problem. . . . . . . . . . . . . . 235

17.1 Formulation of the example as a DEA LP of type BCC. . . . . . . . . . . 245


17.2 General formulation of a BCC type DEA linear program (based on charac-
terizations of the elements, as explained in the text). . . . . . . . . . . . . 247
17.3 MATLAB implementation of the general formulation of a BCC type DEA
linear program. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248

18.1 Philadelphia City Council districts after the 2000 census. . . . . . . . . . . 256
18.2 Philadelphia’s 66 wards. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
18.3 Districting problem formulated as a p-median problem. . . . . . . . . . . . 260
18.4 A districting plan for Philadelphia using the p-median model of Figure 18.3. 261
18.5 GAMS listing for p-median model of Figure 18.3. . . . . . . . . . . . . . . 262
18.6 GAMS listing for p-median model of Figure 18.3 with population constraints
of expression (18.6) added. . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
18.7 A districting plan for Philadelphia using the p-median model with popula-
tion constraints of ±5%. District 1 is not contiguous. . . . . . . . . . . . . 264
18.8 Districting problem formulated as a p-median problem with population and
contiguity constraints, and known centers. After [144, page 1059]. . . . . . 265
18.9 GAMS code for districting with population and contiguity constraints and
known centers, part 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
18.10 GAMS code for districting with population and contiguity constraints and
known centers, part 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
18.11 A districting plan for Philadelphia that is population balanced (±5%), con-
tiguous, and minimizes distance to district centers. Districts are labeled
with the IDs of their ward centers. . . . . . . . . . . . . . . . . . . . . . . 270
18.12 Districting plan discovered by the evolutionary algorithm. Team Fred’s fa-
vorite because of neighborhood integrity. . . . . . . . . . . . . . . . . . . . 273
18.13 Districting plan discovered by the evolutionary algorithm. Strong on pro-
tecting neighborhoods in the “river wards” (in districts 1, 5, and 9 in the
map). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274

19.1 Seven categories of representative questions in post-solution analysis. . . . 282


List of Tables

1.1 Specification of the Eilon Simple Knapsack model. b = 620. . . . . . . . . 9


1.2 Parameter sweep results for the Converse formula. Rows: Pa values.
Columns: Pb values. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

4.1 Specification of the Eilon Simple Knapsack model. b = 620. . . . . . . . . 61

5.1 FoIs: Interesting feasible decisions found by EC for the GAP 1-c5-15-1 prob-
lem. Decision 0 is optimal. . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
5.2 IoIs: Interesting infeasible decisions found by EC for the GAP 1-c5-15-1
problem. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

9.1 The 43 best single locations for minimizing total distance. . . . . . . . . . 131
9.2 The 43 best single locations for minimizing total weighted distance. . . . . 133
9.3 Thirty-three tracts are within 5% of the best tract on unweighted distances
and on weighted distances. . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
9.4 Top 43 single locations having the first 9 of 10 tracts in common, using the
naı̈ve greedy algorithm with weighted distances. . . . . . . . . . . . . . . . 137
9.5 Locating 10 service centers: Greedy hill climbing results from 43 runs, sorted
by total population-weighted distance. . . . . . . . . . . . . . . . . . . . . 141
9.6 Locating 10 service centers: Top 43 greedy hill climbing results from 500 runs
and a sampled neighborhood of 200, sorted by total population-weighted
distance. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
9.7 Locating 10 service centers: Results from 50 runs, sorted by total
population-weighted distance, using a threshold accepting algorithm. . . . 143
9.8 Locating 10 service centers: Top 43 results from a trial of 120 runs of a
simulated annealing heuristic, sorted by total population-weighted distance. 144

11.1 Objective function values of the best 12 decisions found in a trial of greedy
hill climbing on the GAP 1-c5-15-1 model with numTries = 1 and numRuns
= 200000, and 630,744 decision evaluations. . . . . . . . . . . . . . . . . . 169
11.2 Objective function values of the best 12 decisions found in a trial of greedy
hill climbing on the GAP 1-c5-15-1 model with numTries = 10 and numRuns
= 10000, and 644,082 decision evaluations. . . . . . . . . . . . . . . . . . . 170
11.3 Objective function values of the best 12 decisions found in a trial of greedy
hill climbing on the GAP 1-c5-15-1 model with numTries = 50 and numRuns
= 2000, and 517,550 decision evaluations. . . . . . . . . . . . . . . . . . . 170
11.4 Results from a trial of 50 runs simulated annealing on the Philadelphia
districting problem. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
11.5 Results from a trial of 50 runs of simulated annealing on the GAP 1-c5-15-1
model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
11.6 Results from a trial of 50 runs of a threshold accepting algorithm on the
GAP 1-c5-15-1 model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176

xxi
xxii List of Tables

12.1 Parameters for an evolutionary program. . . . . . . . . . . . . . . . . . . . 182


12.2 Simple Knapsack 100: Fifty best decision values from a representative run
of evolutionary programming. . . . . . . . . . . . . . . . . . . . . . . . . . 185
12.3 GAP 1-c5-15-1: Fifty best decision values from a representative run of evo-
lutionary programming. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
12.4 Philadelphia 2010 Census Tracts: Fifty best decision values from a repre-
sentative run of evolutionary programming. . . . . . . . . . . . . . . . . . 187
12.5 GAP 1-c5-15-1: Fifty best decision values from the final population in a
representative run of a basic GA. . . . . . . . . . . . . . . . . . . . . . . . 194

14.1 Top 50 type A decisions found in a run of the GAP model with FI2-Pop
GA. SSLKs: sum of slack values. SLKs: the slack values. i = item/decision
number. Obj = objective value of the decision. SSLKs = sum of the slack
values. SLKs = slack values for the constraints. Decisions = associated
settings of the decision variables. . . . . . . . . . . . . . . . . . . . . . . . 208
14.2 Top 50 type B decisions found in a run of the GAP model with FI2-Pop
GA, having an objective value 300 or more. i = item/decision number. Obj
= objective value of the decision. SSLKs = sum of the slack values. SLKs
= slack values for the constraints. Decisions = associated settings of the
decision variables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
14.3 Top 50 type C decisions found in a run of the GAP model with FI2-Pop GA.
i = item/decision number. Obj = objective value of the decision. SNSLKs
= sum of the negative (infeasible) slack values. SLKs = slack values for the
constraints. Decisions = associated settings of the decision variables. . . . 210
14.4 Top 50 type D decisions found in a run of the GAP model with FI2-Pop
GA, having sum of negative slacks ≥ −20. i = item/decision number. Obj =
objective value of the decision. SNSLKs = sum of the negative (infeasible)
slack values. SLKs = slack values for the constraints. Decisions = associated
settings of the decision variables. . . . . . . . . . . . . . . . . . . . . . . . 211

15.1 Parameter sweep results for the Converse formula. Rows: Pa values.
Columns: Pb values. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223

16.1 Probabilities-desirabilities table for the wine decision. . . . . . . . . . . . . 234


16.2 Restaurants with attributes. . . . . . . . . . . . . . . . . . . . . . . . . . . 236

17.1 Objective function values (z), constraint left-hand-side values (X(j), DEA
BCC efficiency values (E), and slack values (S(j)) for fifty feasible decisions
of interest (numbering 1–50) for a GAP with five agents. . . . . . . . . . . 251
17.2 Objective function values (z), constraint left-hand-side values (X(j), DEA
BCC efficiency values (E), and slack values (S(j)) for fifty feasible decisions
of interest (numbering 51–100) for a GAP with five agents. . . . . . . . . . 252
Part I

Starters

1
This page intentionally left blank
Chapter 1
Introduction

1.1 The Computational Problem Solving Cycle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3


1.2 Example: Simple Knapsack Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.3 An Example: The Eilon Simple Knapsack Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.4 Scoping Out Post-Solution Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.4.1 Sensitivity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.4.2 Policy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.4.3 Outcome Reach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.4.4 Opportunity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.4.5 Robustness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.4.6 Explanation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.4.7 Resilience . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.5 Parameter Sweeping: A Method for Post-Solution Analysis . . . . . . . . . . . . . . . . . . . 18
1.6 Decision Sweeping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
1.7 Summary of Vocabulary and Main Points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.8 For Exploration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
1.9 For More Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

1.1 The Computational Problem Solving Cycle


Business analytics is about using data and models to solve—or at least to contribute
towards solving—decision problems faced by individuals and organizations of all sorts.
These include commercial and non-profit ventures, LLCs, privately held firms, coopera-
tives, ESOPs, governmental organizations, NGOs, and even quangos. Business analytics is,
above all, about “thinking with models and data” of all kinds (e.g., in the case of data, in-
cluding text data). It is about using them as inputs to deliberative processes that typically
are embedded in a rich context of application, which itself provides additional inputs to the
decision maker.
Focusing on the general analytics at the expense of details of the governing context of
any particular case, there are three kinds of knowledge important for our subject.

1. Encoding.
How to express an algorithm or procedure in the computational environment of our
choice and get it to run and produce useful results?
Important modern computational environments include Excel (and other spreadsheet
programs), MATLAB, Mathematica, Python, Ruby, PHP, JavaScript, R, SAS, SPSS,
NetLogo, and much else, including core programming languages such as C, C++, and
Java.
We shall discuss coding in this book, but for the most part relegate it to later chapters,
aimed at more advanced users, or at least users who would be more advanced and so

3
4 Business Analytics for Decision Making

wish to study programming for business analytics. Python and MATLAB will serve
as our focal core programming languages, although we shall have many occasions to
mention others. We will advert to Excel, GAMS, NetLogo, and OPL as needed, to the
extent helpful in the context.
2. Solution design.
Solution design is an issue that arises prior to encoding. Given a problem, how should
it be represented so that it can be coded in one’s computational environment of
choice (Python, MATLAB, Excel, etc.)? Alternatively put: How should we design the
representations—the data structures and algorithms—for solving the problem?
Solution design, including representation, efforts occur at a level of abstraction re-
moved from encoding efforts. The two are not entirely independent, since felicitous
choice of computational environment aids and abets representation enormously. Still,
good designs will ideally be accessible to, and useful for, all parties in an analytics
effort, programmers and non-programmers alike.
3. Analytics: Post-solution analysis.
Given a solution design, its encoding into a model, and successful execution of the
model (or of a solver for the model), we arrive at a solution to the model. Now the
real work begins! We need to undertake post-solution anlaysis (also known as model
analysis) in order to validate the model, test and understand its performance, obtain
information perhaps relevant to reconsidering the assumptions of the model, and so
on.
Further, how can we use data, text, and models to solve business problems (broadly
conceived)? Or given a business problem, how shall we approach its solution with
data, text, and models (assuming it is amenable to such)? In short, how can and how
should we go about “thinking with data and models” in the context of real problems?
Post-solution analysis (or model analysis) refers, then, to that variety of activities we
undertake after a model has been designed, formulated, and solved. These activities
may be directed primarily at testing and validating a model or at supporting delibera-
tive decision making with the model, although in fact it is often pointless to maintain
a distinction between the two goals. In any event, the activities characteristic of post-
solution analysis are typically useful and used both for validating a model and for
deliberating with it regarding what actions to take.

The main focus of this book is on how to address these questions with specifics, to
provide recommended and usable techniques, along with realistic examples. We emphasize
using implementations that let us exercise and explore models and data for the sake of
discovery, understanding, and decision making. To this end we dwell at length throughout
on post-solution analysis. Its techniques and methods are not only accessible to all who
would engage in thinking with models, they are also essential to actual deployment and
decision making with models.
These levels are interdependent. Coding depends on representation and representation
depends on what the business problems are. To do analytics we need to specify the problem
rigorously, meaning we need to find implementable representations and we need to code them
up. And then, we emphasize, the real work begins: We need to use our implementations to
explore and discover what our models and data can tell us. To really do analytics we need
the results of representation and encoding, but that is just the beginning.
The book is about all three levels. In the beginning, however, and for much of the book
we emphasize analytics and de-emphasize representation and encoding, so that readers will
Introduction 5

1. Recognition or detection of a problem.


Describe the problem.
2. (Computational) solution concept.
Develop an approach, a computational approach, for solving the problem—or at least
for providing useful information about it.

3. Solution design.
A good slogan in this context: “Algorithms + Data Structures = Programs” [158].
(a) Data structures
(b) Algorithms

The result of this step is typically a representation, perhaps in pseudocode, that is


amenable to encoding. The representation should be independent, or abstracted from,
any particular programming language, although it may be developed with one in mind.
4. Encoding.
Translate the design into a working computational entity, aka implementation, that
produces results (solutions).
5. Post-solution analysis.
Probe the encoded model in order to measure and assess its performance under a
range of test conditions.

FIGURE 1.1: Computational problem solving cycle.

have much to sink their teeth into without raising the hackles of those adverse to computer
programming.
Let us not forget the larger context of business analytics. We can embed our levels in
the larger context of a computational problem solving cycle. See Figure 1.1, which we might
frame as an updating or complement for the twenty-first century and new technology of
Peirce’s “The Fixation of Belief.”1
The last three steps in the cycle correspond to, or encompass, our three levels. The first
step—problem recognition—gets the ball rolling. Throughout, we aim to provide realistic
information on representative problem situations. This will serve to motivate the analyses
and to expose the reader to real world considerations.
The second step in the cycle framework is to find a solution concept for the recognized
problem. By this we mean a general approach that is likely to be successful in addressing an
identified aspect of the problem. Should we build a model or take a data-driven approach?
If we build a model, what sort of model should we build?
Finally, to turn the list into a cycle, we emphasize that every step taken, every decision
made, is provisional. Computational problem solving efforts iterate through the list and
revisit steps until deliberation is—provisionally—abandoned in favor of action.
1 The article [130] addresses decision making from a practical, pragmatic perspective. Indeed, it is one of

the founding documents of philosophical Pragmatism. It was written for a popular audience and remains
well worth reading today.
6 Business Analytics for Decision Making

Enough abstraction for the present! We now turn to an example that touches upon and
illustrates these principles.

1.2 Example: Simple Knapsack Models


Our focus in this book is very much on constrained optimization models (COModels),
on solving them, and most of all on deliberating and making decisions with them. Chapter
2 surveys the field of COModels. Subsequent chapters delve into particular kinds of CO-
Models. Much detail is on the way. Our purpose in this chapter is to discuss a particular
kind of especially simple and clear COModel—the Simple Knapsack model—as a way of in-
troducing concepts and terminology that we will need throughout the book. It is easier and
more natural, we believe, to learn by generalizing from specific examples than it is to learn
abstract generalizations and recognize particular cases when they are encountered. That, at
least, is how we shall proceed to develop the core ideas of this book, starting immediately.
The Simple Knapsack model serves well as a prototypical example of a constrained
optimization model (COModel). Its story is easy. DM, a decision maker, has n items. Each
item has a value for DM if the item can be placed in DM’s knapsack. Imagine that DM
is preparing for a flight and will carry the knapsack onto the plane. An item, i, can be
either in or out, and if in, its value for the DM is ci (think: the contribution from item i,
if chosen). Besides its value, each item has an amount of resource it uses up; call this wi
(think: the weight of item i). Finally, DM’s knapsack has a fixed capacity, b, dimensioned
the same as the wi (think: b is the maximum weight that can be placed in the knapsack;
that’s how big it is). For DM, then, the weight of the item if it is placed into the knapsack
is a resource that is in limited supply (as in constrained optimization). DM’s problem is to
find a right collection of items to place in the knapsack so that the capacity of the knapsack
is not exceeded and so that the total value returned to DM is maximized.
Budgeting is perhaps the most widely prevalent context in which Simple Knapsack mod-
els are used. Prototypically, there will be n projects (R&D projects, advertising campaigns,
capital improvement projects, production activities, and so on) that might be funded, each
making an expected contribution to profit of ci and each requiring an investment of resources
(say in money) of wi , against which a budget b is presented.
Simple Knapsack models are appropriate and used quite often. They should be consid-
ered whenever a situation arises in which
1. There are a number of distinct entities that may be chosen, each of which returns
some reasonably well-known value to the DM.
2. Each entity consumes a certain amount of resource that is in limited supply.
3. The entities are independent in the sense that the value returned by choosing an
entity, and the amount of resource it consumes, does not depend upon whether any
other entity is chosen.
Further examples of such situations include certain types of investment portfolio problems,
selecting R&D projects for funding, and even construction of multiple choice examinations.
See http://en.wikipedia.org/wiki/Knapsack_problem#Applications (accessed 2015-
06-28) for a useful list of applications of the Simple Knapsack.
Simple Knapsack models are easily represented mathematically. Decision variables rep-
resent the entities that may be chosen (set to 1) or not (set to 0). See Figure 1.2, where
they are indicated by the xi s.
Another random document with
no related content on Scribd:
häneen. Ja minne minä lähtisin? Isänikö luo? Hän kohtelisi minua
julmasti. Jään tänne. Kuninkaalla ei ole valtaa herttuan yli. Herttuani
on hallitseva ruhtinas.» Hän toisteli hädässään tuon ilkeämielisen
lauenburgilaisen sanoja, joka osaksi vakavasti osaksi piloillaan peitti
ruhtinasvaipallaan kaikki ilkityönsä.

»Ei auta, neito», vastasi Kustaa Aadolfin hovipoika. »Ruhtinas tai


muu, kuningas on sodassa hänen esimiehensä, ja lauenburgilaisen
on totteleminen.»

»Herttua», väitti slovenitar, »on mitä ylhäisintä sukuperää, mutta


kuningas on vain halpaa ruotsalaista talonpoikaissukua.»
Lauenburgilainen oli varmaankin kertonut hänelle Kustaa Waasan
talonpoikaispuvusta alkunsa saaneen tarun. Leubelfing nousi
loukkaantuneena ja astui suorana kuin seiväs Corinnaa kohti,
pysähtyi aivan hänen eteensä ja kysyi ankaran näköisenä: »mitä
puhut?» Tyttö oli pelokkaana myös noussut, ilme hänen kasvoissaan
muuttui äkkiä, ja hän kietoi kätensä hovipojan kaulaan sanoen:
»Rakas herra! Kaunis herra! Auttakaa minua! Teidän täytyy auttaa
minua! Rakastan Lauenburgin herttuaa, enkä luovu hänestä! En
koskaan!» Hän huusi ja rukoili, suuteli ja syleili hovipoikaa ja painoi
häntä rintaansa vasten, mutta astui äkkiä sanomattomasti hämillään
askeleen taaksepäin ja ivan vääntämille huulille ilmaantui mitä
omituisin hymy.

Hovipoika tuli kalmankalpeaksi. »Pikku siskoni», sipatti Corinna


viekkain katsein, »jos sinä koettaisit vaikutusvaltaasi» — samassa
silmänräpäyksessä Leubelfing tarttui lujasti hänen käsivarteensa,
pakoitti hänen polvistumaan ja suuntasi pistolinsa, johon hän
nopeasti oli tarttunut, pienen pään ohimoa kohti. »Laukaise vain»,
huusi Corinna melkein mielettömänä, »ja tulkoon ilosta ja
surkeudesta loppu!»: mutta väänsi ja kiersi pientä kaulaansa mitä
taitavimmin ja notkeimmin, koettaen välttää pistolin suuta.

Leubelfing asetti kylmän rautaisen pistolin suun keskelle naisen


otsaa ja sanoi kuolemankalpeana mutta tyynesti: »kuningas ei tiedä
siitä mitään, niin totta kuin toivon tulevani autuaaksi.» Vastaukseksi
sai hän epäilevän hymyn. »Kuningas ei tiedä siitä mitään», toisti
hovipoika, »ja sinä vannot tämän ristin kautta» — hän oli kultavitjasta
riuhtaissut sen esiin naisen povesta — »keneltä olet sen saanut?
Äidiltäsikö, sanot? — Sinä vannot minulle tämän ristin kautta, ettet
sinäkään mitään tiedä! Tee se pian, taikka ammun!»

Hovipoika laski aseensa, sillä hän kuuli kavioiden kapsetta,


sotilastervehdyksen hälinää ja kuninkaan raskaiden askelten tulevan
ylös rappusia. Hän loi vielä kerran maasta nousevaan Corinnaan
hartaasti rukoilevan katseen, joka näkyi ilmaisevan, mitä huulet eivät
milloinkaan olisi lausuneet: »ole armollinen! Olen sinun vallassasi!
Älä ilmaise minua! Rakastan kuningasta!»

Kustaa Aadolf astui sisään, kokonaan toisenlaisena nyt kuin kaksi


tuntia sitten ratsastaessaan kotoa. Hän oli ankara kuin tuomari
Israelissa, täynnä pyhää vihaa ja tulista kiivautta, niiden raamatun
sankarien kaltainen, joiden täytyi poistaa huutava vääryys kansansa
keskuudesta, ettei koko kansa joutuisi turmioon. Hän oli vastikään
nähnyt kauhistuttavan, iljettävän kohtauksen, miten saksalaiset
aatelismiehet saksalaisen ruhtinaan johdolla ryöstivät saksalaista
talonpoikaisjoukkoa, joka friedlantilaista paeten etsi suojaa
ruotsalaisten leiristä.

Herrat olivat erään toverinsa teltassa juoneet, pelanneet korttia ja


napupeliä aamun sarastukseen saakka. Mitä epäilyttävin seikkailija
oli pitänyt pankkia ja riistänyt heidät putipuhtaiksi. Vaihdettuaan
muutaman sanan keskenään, päästivät he kaikesta päättäen
epärehellisen pelaajan hätyyttämättä menemään, koska hän oli
aatelia ja siis heidän kaltaisensa, mutta hyökkäsivät sen sijaan kotiin
palatessaan väsyneinä ja ärtyisinä keskelle leiritietä patoutuneeseen
vaunukasaan. Lauenburgin herttua oli ratsastaessaan telttansa ohi
vilkaissut sisään, huomannut pesän tyhjäksi, heti epäillyt kuningasta
syypääksi siihen ja täyttä laukkaa rientänyt toveriensa perästä,
yllyttäen heitä saaliinhimoiseen tekoon, jonka hän tiesi vihlovan
Kustaa Aadolfin sydäntä, niinpian kuin hän saisi siitä tiedon.

Kuningas tahtoi omin silmin nähdä heidän ilkityönsä ja ratsasti


keskelle sekasortoa, missä kirstuja ja arkkuja murrettiin auki, hevosia
pistettiin kuoliaaksi tai ryöstettiin, turvattomia ihmisraukkoja
rääkättiin, ja niitä, jotka puolustivat itseään, haavoitettiin. Kustaa
Aadolfia kohti nousi rukoilevia käsiä, hartaita pyyntöjä, kirouksia ja
sadatuksia, ikäänkuin hän olisi istunut Jumalan valtaistuimella.
Kuningas hillitsi vihansa; hän jätti sen purkamisen toistaiseksi. Hän
antoi ensiksi käskyn pitää huolta rääkätyistä pakolaisista, ja sitten
koko aatelisjoukkue sai määräyksen saapua hänen luokseen
yhdeksännellä tunnilla. Kotimatkalla hän pysähtyi ruoskurin teltan
eteen, kehoitti häntä kääriytymään punaiseen vaippaansa ja
seuraamaan pienen välimatkan päässä.

Tässä mielentilassa oli Kustaa kuningas, kun hän näki


lauenburgilaisen rakastajattaren. Hänen katseensa tarkasti tyttöä,
jonka kesytön kauneus ei häntä miellyttänyt ja jonka räikeä puku
loukkasi hänen kirkkaita silmiään.

»Ketkä ovat vanhempasi», kysyi hän, välittämättä tytön omasta


nimestä tai vaiheista.
»Kroatilainen päällikkö; äitini kuoli varhain», vastasi tyttö, ja hänen
tummat silmänsä välttivät Kustaa Aadolfin kirkasta katsetta.

»Lähetän sinut takaisin isäsi luo», sanoi kuningas.

»Ei», vastasi tyttö, »hän pistäisi minut kuoliaaksi.»

Säälin tunne vähensi kuninkaan ankaruutta, ja hän mietti


lievempää rangaistusta. »Olet miehen puvussa kuljeskellut leirissä;
se on kielletty», syytti hän tyttöä.

»En koskaan», vastasi Corinna vilpittömästi loukkaantuneena,


»niin siveetön en ole koskaan ollut.»

»Mutta», jatkoi kuningas, »sinä rikot toisten avioliittoa vastaan ja


teet nuoren, jalon ruhtinattaren onnettomaksi.»

Slovenittaren silmissä säihkyi kiihkeä mustasukkaisuus. »Mutta jos


hän rakastaa minua enemmän, rakastaakin minua yksin, mitä minä
sille voin? Mitä minua toinen liikuttaa?» sanoi hän uhmaten ja
halveksien. Kuningas katseli häntä hämmästynein katsein, ikäänkuin
kysyen itseltään, oliko tuo tyttö lapsena koskaan saanut kristillistä
opetusta.

»Olen pitävä sinusta huolen», sanoi kuningas sitten. »Nyt käsken


sinun kokonaan ja ijäksi jättämään lauenburgilaisen. Rakkautesi on
kuoleman synti. Totteletko?» Nainen kesti kuninkaan katseen, silmät
ensin soihtuina leimahtaen sitten itsepintaisesti tuijottaen, ja pudisti
päätään. Kustaa Aadolf kääntyi ovella seisovan ruoskurin puoleen.

»Mitä tuo täällä tekee?» kysyi tyttö väristen. »Onko se pyöveli?


Mestaako hän minut?»
»Hän leikkaa hiuksesi, sitten ensi lähetys vie sinut Ruotsiin ja
siellä saat pysyä kasvatuslaitoksessa, kunnes sinusta tulee
evankelinen nainen.»

Pieniin aivoihin tulvehti äkkiä sellainen määrä ihmeellisiä


aavistuksia ja outoa pelkoa, että ne olivat mennä sekaisin. Ajettu
päälaki! Saattoiko olla mitään nöyryyttävämpää tai häpeällisempää!
Entä Ruotsi, tuo jäinen maa talviöineen, josta hän oli kuullut
puhuttavan, sehän oli kummitusten ja peikkojen maa! Mitä harkittua
ja julmaa kidutusta merkitsikään tuo outo sana kasvatuslaitos?
Evankelinen nainen, eikö se merkinnyt samaa kuin vääräuskoinen.
Täytyikö hänen päälle päätteeksi luopua taivaallisesta osuudestaan;
hänen, joka ei rikkonut paastoja, eikä laiminlyönyt hartauden
harjoittamista… Hän tarttui rikkirevityissä vitjoissa riippuvaan ristiin ja
suuteli sitä kiihkeästi.

Sitten hän antoi katseensa harhailla ympäri huonetta ja pysähdytti


sen täynnä kostonhimoa hovipoikaan. Hän avasi jo huulensa
syyttääkseen kuningasta aviorikoksesta, samasta, josta häntä
itseään syytettiin. Kustaa Aadolf seisoi tyynenä syrjempänä. Hän oli
ottanut Leubelfingin kirjeen käteensä ja katseli sitä likinäköisine
silmineen. Tarkkaavain kasvonpiirteiden lempeä ja
oikeudenmukainen ilme, jossa oli jotain majestetista ja jumalaista,
peloitti Corinnaa; se oli hänestä outoa ja kaameata, jonkatähden hän
pelkäsi sitä. Kesyttämättömältä tytöltä, joka oikealla tavalla tiesi
arvostella jokaisen miehen ymmärrettävän intohimon vääntämiä
kasvoja niitä säikähtämättä, jäi tämä jalo ja inhimillinen ilme
ymmärtämättä. Hän ei voinut kauemmin katsella kuningasta.
»Oikeastaan», ajatteli hän, »on tuo lumikuningas jäätynyt ihminen,
joka ei huomaa naisen läsnäoloa, eikä rakkautta, mikä salaisesti
häntä ympäröi. Voisin saattaa tuon nuoren ihmisen turmioon! Mutta
mitäpä hyötyä siitä olisi? Ja sitäpaitsi — hänhän rakastaa
kuningasta!»

Ruoskuri astui askeleen eteenpäin ja ojensi kätensä slovenitarta


kohti. Nuori nainen ei nähnyt mitään pelastumisen mahdollisuutta.
Salaman nopeudella hän kääntyi hovipojan puoleen ja kuiskasi
hänen korvaansa: »Lueta minulle kymmenen messua, sisko! Niitä
kalliimpia! Olen kyllä ansainnut paksun kynttilän! No niin, toista
seuraa onni, ja toista» — hän työnsi kätensä taskuun, veti esiin
tikarin, viskasi tupen menemään ja leikkasi taidokkaasti poikki
kaulasuonensa, kuin olisi se ollut kyyhkysen. Leirin keittiössä hän
lienee oppinut sillä lailla tikaria käyttämään.

Ruoskuri levitti punaisen vaippansa, laski naisen siihen pitkälleen,


kääri hänet siihen ja kantoi kuin nukkuvan lapsen ulos sivuovesta.

Viereisestä huoneesta alkoi kuulua vilkasta ja sopimattoman


äänekästä keskustelua ja kellon lyödessä yhdeksän astui kuningas,
jolle Leubelfing avasi kaksoisovet, saapuvilla olevain saksalaisten
ruhtinaitten ja herrain pariin.

Heitä lienee ollut noin viisi- tai kuusikymmentä ja he muodostivat


ahtaassa huoneessa tiheän piirin. Herrat eivät käyttäytyneet
erikoisen kunnioittavasti, monet olivat suorastaan välinpitämättömiä,
ikäänkuin häpy olisi ollut heille yhtä tuntematon kuin pelkokin.
Rohkeita ja viekkaita oli vierekkäin, kunnianhimoisia ja typeriä,
hurskaita ja julkeita. Useimmat heistä olivat antaneet väkeään
armeijaan, eikä heitä voinut jättää huomioon ottamatta. Kustaa
Aadolfista vasemmalle pysytteli vaatimattoman näköisenä kapteeni
Erlach, jolla oikeastaan ei ollut täällä mitään tekemistä. Tämä soturi
oli aikansa jumalisimpana sankarina astunut Kustaa Aadolfin
joukkoihin ja oli usein sanonut kuninkaalle surkuttelevansa kaikkia
niitä syntejä, joita hänen täytyi täällä suuressa valtakunnassa nähdä:
kiittämättömyyttä, kavaluutta, juonittelua, ansojen virittämistä,
salapeliä, näyttelemistä, jälkien peittelemistä, lahjomista, maitten
myyntiä, petosta, — kaikki syntejä, jotka hänen schweitsiläisillä
vuorillaan olivat peräti tuntemattomia ja mahdottomia. Hän oli ehkä
tullut saapuville vain voidakseen kertoa läheiselle ystävälleen,
Ranskan lähettiläälle, jota kapteenin siveellinen yksinkertaisuus
miellytti, jotain uutta, jolle ranskalaiset luonnostaan ovat niin
kärkkäitä, vai olisiko hän tehnyt sen nähdäkseen sielunsa
ylennykseksi miten hyve vie paheesta voiton. Hän siristi tyynesti
silmiään ja pyöritteli kädet ristissä peukaloitaan. Vastapäätä tätä
hyveen esikuvaa, kuninkaasta oikealle, seisoi synti
henkilöllistyneenä: Lauenburgilainen upeimmassa puvussaan ja
kalleimmassa pitsikauluksessaan, levottomasti siirrellen jalkojaan,
pirullisesti hymyillen ja silmiään pyörittäen. Hän oli kohdannut
ruoskijan apulaisen, jolle vaippa oli uskottu. Sen laskoksien alla oli
hän tuntenut ihmisruumiin, astunut sen luo ja nostanut vaippaa.

Kustaa Aadolf loi koolla oleviin tuomitsevan katseen. Sitten


puhkesi myrsky. Ihmeellistä — näitten ylpeitten kasvojen, uhmaavan
esiintymisen ja aatelittomia sydämiä peittävien korskeitten pukujen
ärsyttämättä käytti kuningas tahallaan raakaa, talonpoikaista
puhetapaa, mikä ei muuten ollut hänelle ominaista.

»Ryöväreitä ja varkaita olette te ensimäisestä viimeiseen! Häpeä


teille! Ryöstätte omia maamiehiänne ja uskonveljiänne! Hyi! Inhoan
teitä! Sydämeni täyttyy kiukulla! Vapautenne puolesta olen
tyhjentänyt aarreaittani — neljäkymmentä tynnyriä kultaa — enkä
sen vertaa teiltä ole ottanut, että olisin saanut edes parin
ratsastushousuja! Niin, kernaammin olisin minä alastomana
ratsastanut, kuin olisin vaatettanut itseäni saksalaisten varoilla! Teille
minä olen lahjoittanut kaikki, mikä tielleni on sattunut, enkä itseäni
varten ole pidättänyt edes sikopahnaa!»

Näin kovin ja karkein sanoin soimasi kuningas tätä aatelistoa.

Palaten taas aineeseensa, kiitti hän herrojen rohkeutta ja


moitteetonta käytöstä taistelukentällä ja toisti useamman kerran:
»Urhoollisia te olette; niin, sitä te olette! Ratsastajina ja sotilaina
olette nuhteettomia!» mutta sitten leimahti hänen vihansa uudestaan
ja vielä voimakkaampana: »jos nousette kapinaan minua vastaan»,
uhkasi hän heitä, »käyn suomalaisten ja ruotsalaisten joukkojeni
etunenässä teidän kimppuunne ja isken ympärilleni, että repaleet
lentävät!»

Hän päätti puheensa kristillisillä neuvoilla ja pyysi heitä painamaan


mieleensä sen opetuksen, minkä he nyt olivat saaneet. Kapteeni
Erlach pyyhkäsi kyyneleen silmästään. Herrat koettivat olla sen
näköisiä, kuin asia ei olisi heitä erikoisesti liikuttanut, mutta heidän
käytöksensä oli tullut huomattavasti sävyisemmäksi. Muutamiin
näytti puhe vaikuttaneen ja joitakuita liikuttaneenkin. Saksalainen
kestää paremmin karkeata suoraa sättimistä kuin laimeata saarnaa
tai hienoa, purevaa ivaa.

Tähän saakka olisi kaikki ollut niinkuin olla pitikin. Silloin


Lauenburgilainen, kääntyen osaksi kuninkaan osaksi säätyveljiensä
puoleen, päästi huuliltaan häpeämättömän julkeat, röyhkeät sanat:

»Miksi teidän majesteettinne viitsii joutavasta suuttua? Mitä me


herrat olemme tehneet? Keventäneet alamaisiamme!»

Kustaa kalpeni. Hän viittasi luokseen rankaisumiehen, joka oli


oven takana.
»Laske kätesi tämän herran olkapäälle!» komensi hän. Ruoskija
astui esiin, mutta ei uskaltanut totella, sillä herttua oli vetänyt
miekkansa tupesta, ja vaaraa ennustava sorina kuului piiristä.

Kustaa riisti lauenburgilaiselta aseen, nojasi terää jalkaansa


vasten ja jännitti sitä kunnes se katkesi. Sitten hän tarttui ruoskijan
paksuun, karvaiseen käteen, painoi sen hervottomana seisovan
lauenburgilaisen olkapäälle, piti sitä jonkun aikaa siinä ja sanoi:
»Poika, olet hallitseva ruhtinas, enkä voi sinuun kajota, mutta
pyövelin käsi tarttukoon sinuun!»

Hän kääntyi ja meni. Pyöveli seurasi häntä verkalleen.

Kohtaus oli saattanut miltei kouristuksentapaiseen nauruun


hovipojan, jonka tungos salissa oli työntänyt raskaiden
damastiverhojen peittämään ikkunakomeroon. Corinnan verinen
loppu oli sekä järkyttänyt että keventänyt hänen mieltään, ja hänen
sankarinsa lannistamat ruhtinaat näyttivät hänestä komedian
henkilöiltä. Hän oli kuin poika, joka hyvillään ja nauruaan pidättäen
kuuntelee kuinka hänen isänsä, jonka valtaa ja mainetta hän ihailee
ja jonka suojassa hän tietää olevansa, antaa läksytyksen
velvollisuutensa unohtaneelle rengilleen. Mutta kuullessaan
ensimäisen tavuun, minkä lauenburgilainen lausui, lyyhistyi hän
pelosta; niin kammottavasti muistutti lauenburgilaisen ääni hänen
omaa ääntään. Sama sointi, sama tarmo ja metallinen kaiku. Pelko
muuttui kauhuksi, kun lauenburgilainen Kustaa kuninkaan poistuttua
purskahti teennäiseen nauruun ja puhkesi kimeästi puhumaan: »tuo
ruotsalainen talonpoika sätti kuin tallirenki! Tuhat tulimmaista, miten
me hänet suututimmekin tänään. Pereat Gustavus! Eläköön
saksalainen vapaus! Tuletkos, arvoisa veljeni, telttaani korttia
lyömään? Annan aukaista tynnyrin würzburgilaista!» Hän pisti
kätensä lähinnä seisovan ruhtinaan kainaloon. Tämä herra vetäytyi
kohteliaasti hänestä erilleen ja vastasi arvokkaasti kumartaen:
»valitan. Olen lupautunut muualle.»

Lauenburgilainen kääntyi seuraavan rajakreivin puoleen ja pyysi


häntä mukaansa vieläkin iloisemmin ja innokkaammin: »Et saa
kieltäytyä, toveri! Sinun täytyy saada tappiosi korvatuksi!» Rajakreivi,
joka oli äkkipikainen herra, käänsi hänelle selkänsä. Joka kerta kun
lauenburgilainen uudisti pyyntönsä kieltäydyttiin yhä lyhyemmin ja
tylymmin. Hänen askeltensa ja liikkeittensä eteen muodostui autio
paikka, ja huone tyhjentyi vähitellen.

Vihdoin seisoi hän yksin keskellä huonetta, josta kaikki olivat


poistuneet. Hän huomasi selvästi, että hänen säätytoverinsa aina
vastedes tulisivat häntä tarkasti välttämään. Tuntiessaan itsensä
leimatuksi mieheksi vääntyivät hänen kasvonsa vihasta ja hän
kohotti puristetut nyrkkinsä, uhmaten joko kuningasta tai kohtaloa.
Hovipoika ei voinut kuulla, mitä hän mumisi, mutta ylhäisen kreivin
kasvonilme oli niin pirullinen, että salainen kuuntelija oli vähällä
mennä tiedottomaksi.
IV.

Illan hämärtäessä samana vaiherikkaana päivänä ilmoitettiin


kuninkaalle oikean turvallisuuskirjan näyttäneen friedlantilaisen
sotapäällikön tulosta. Asia koski nähtävästi viime ottelussa
kaatuneiden hautaamista tai jotain muuta kahden sotajoukon välillä
kysymykseen tulevaa sopimusta.

Hovipoika vei päällikön huoneeseen, joka oli vastikään tyhjentynyt,


ja pyysi hänen odottamaan. Leubelfing ilmoittaisi heti päällikön
tulosta. Mutta wallensteiniläinen, laiha mies, jolla oli keltaiset, suljetut
kasvot, pidätti häntä sanoen tahtovansa levähtää hetkisen kiireisen
ratsastuksensa jälkeen. Hän heittäytyi huolimattomasti tuolille ja
rupesi keskustelemaan kaikellaisista vähäpätöisistä asioista
hovipojan kanssa, joka oli jäänyt seisomaan hänen eteensä.

»Äänenne tuntuu minusta tutulta», sanoi hän ohimennen.


»Saanko tietää nimenne.» Leubelfing oli varma siitä, ettei hän
milloinkaan ennen ollut nähnyt näitä kylmästi komentavia eleitä, ja
vastasi uljaasti: »olen kuninkaan hovipoika, Leubelfing Nürnbergistä,
teidän armonne!»
»Käsiteollisuuden kukoistuspaikasta», huomautti päällikkö
välinpitämättömästi. »Tehkää hyvin, nuori herra, ja koettakaa tätä
hansikasta; se on vasemman käden hansikas. Jesuitat, jotka minua
nuoruudessani kasvattivat, totuttivat minut nöyrästi ja uskollisesti
nostamaan tielle pudonneita esineitä, mikä tottumus on käynyt
minulle hiukan hankalaksi nyt päällikkönä ollessani. Mutta en ole
siitä tavasta päässyt.» Hän veti taskustaan nahkaisen
ratsastushansikkaan, jommoisia siihen aikaan yleensä käytettiin.
Hansikas oli erikoisen hieno ja kapea niin että yhdeksän kymmenettä
osaa wallensteiniläisistä ja ruotsalaisista sotilaskäsistä olisi heti ensi
yrityksellä puhkaissut sen kaikki saumat. »Löysin sen ulkoportaitten
alimmalta rapulta.»

Leubelfingiä lonkkasi hieman päällikön puheen käskevä sävy,


mutta hän tarttui kuitenkin miellyttävän kohteliaasti ja ilman
minkäänlaista epäluuloa hansikkaaseen ja veti sen hentoon
käteensä, johon se kävi, kuin olisi se siihen tehty. Päällikkö hymyili
merkitsevästi. »Se on teidän», sanoi hän.

»Ei ole, herra päällikkö», vastasi hovipoika kummastuneena, »en


käytä niin hienoa nahkaa.»

»Antakaa sitten minulle takaisin!» ja päällikkö otti taas hansikkaan.

Sitten vieras nousi hitaasti tuoliltaan ja kumarsi, sillä kuningas oli


tullut sisään.

Kustaa Aadolf astui muutamia askeleita häntä kohti hämmästyen


yhä enemmän. Kuninkaan ulkonevat, säteilevät silmät suurenivat.
Sitten sanoi hän epäröiden vieraalleen: »Tekö täällä, herra herttua?»
Kuningas ei ollut milloinkaan nähnyt friedlantilaista itseään, mutta oli
kyllä usein katsellut hänen kuviaan, joita oli kaikkialle levitetty, ja pää
oli siksi omituinen, ettei mitenkään voinut erehtyä. Wallenstein
myönsi kumartaen uudestaan.

Kuningas vastasi kumarrukseen vakavan kohteliaasti. »Tervehdän


teidän ylhäisyyttänne ja tarjoan palvelustani. Mitä haluatte, herttua?»
Hän viittasi hovipoikaa menemään.

Leubelfing pakeni viereiseen huoneeseensa, joka oli vaillinaisesti


kalustettu ja muodosti kapean juovan kuninkaan vastaanotto- ja
makuuhuoneen, talon rauhallisimman huoneen välille. Hovipoikaa
kammotti. Se ei johtunut peljätyn sotapäällikön läheisyydestä, vaan
myöhäisen käynnin herättämästä kaameudesta. Hän tunsi hämärästi
kohtalonsa riippuvan tästä käynnistä.

Pikemmin pelosta kuin uteliaisuudesta avasi hän hiljaa syvän


kaapin oven, jota tietä hän kerran — tulkoon se nyt ilmi — mutta vain
yhden ainoan kerran, oli seinänraosta tirkistänyt kuningasta
saadakseen katsella häntä häiritsemättä ja kyllikseen. Keskustelu,
jota hän nyt salaa kuunteli, oli niin ihmeellinen ja omiaan pitämään
huolta siitä, että joko silmä tai korva lakkaamatta painui rakoa
vasten.

Vastakkain istuvat miehet katselivat hetkisen ääneti toisiaan,


kuitenkaan tuijottamatta. He tiesivät, että rauhanneuvottelun tai
sopimuksen sanat olivat mahdottomat ennen ratkaisevaa ja asiain
tilaa muuttavaa taistelua, senjälkeen kuin Saksan kohtalon
määräävä shakkipeli oli alkanut arvoituksellisine siirtoineen ja
salattuine suunnitelmineen, ja mutkistunut kaikilla suunnilla.
Friedlantilainen lausuikin tämän heti julki. »Teidän majesteettinne»,
sanoi hän, »asiani on yksityistä laatua». Kustaa hymyili kylmän
kohteliaasti. Friedlantilainen alkoi:
»Tapanani on lukea vuoteella, kun en saa unta. Eilen tai varhain
tänä aamuna löysin eräästä ranskalaisesta muistelmajulkaisusta
mieltäkiinnittävän jutun. Tositapaus ja sanatkin tarkoin mainitut, jotka
amiraali todistajana oikeudessa lausui — tarkoitan amiraali
Colignyta, jota kunnioitan erinomaisena sotapäällikkönä. Jos teidän
majesteettinne suvaitsee, kerron sen. Amiraalin luo tuli eräänä
päivänä hänen liittolaisensa, Poltrot — vai mikä hänen nimensä
lienee ollut. Miltei mielipuolena heittäytyi hän tuolille ja alkoi puhua
itsekseen ja käyttää hyvin kiihkeitä sanoja amiraalin valtiollisesta ja
sotilaallisesta vastustajasta, Franz Guisesta, luvaten toimittaa
lotringilaisen pois hengiltä. Kuten sanottu, se oli mielipuolen puhetta
ja amiraalin vallassa oli antaa sille merkitystä tai olla kokonaan
välittämättä — suosittaisin kohtausta draamankirjoittajalle, se olisi
voimakas. Amiraali vaikeni, kun hän piti miehen puhetta tyhjänä
loruna, ja Franz Guise kaatui kuulan…»

»Jos Coligny menetteli niin», keskeytti kuningas, »paheksun minä


sitä.
Hän teki epäinhimillisesti ja epäkristillisesti.»

»Ja epäritarillisesti», ivasi friedlantilainen kylmästi.

»Asiaan, teidän korkeutenne», pyysi kuningas.

»Teidän majesteettinne, samantapaista olen minä nähnyt tänään,


murhaajaksi tarjoutunut on vain pannut toimeen vielä
mutkikkaamman kohtauksen. Erään teikäläisen tulosta ilmoitettiin, ja
kun minä juuri olin työssä, käskin viedä hänet sivuhuoneeseen. Kun
tulin huoneeseen, oli hän nukahtanut keskipäivän helteeseen ja
puhui kiihkeästi unissaan. Vain muutamia katkonaisia sanoja, mutta
ajatuksen saattoi arvata. Jos ymmärsin oikein, on teidän
majesteettinne kuolettavasti loukannut häntä, en tiedä miten, ja hän
on päättänyt, onpa pakotettukin mistä hinnasta hyvänsä — ainakin
melkoisesta hinnasta — surmaamaan Ruotsin kuninkaan, mikä on
sitä helpompaa, kun hän on läheisissä tekemisissä ja joka päivä
seurustelee teidän majesteettinne kanssa. Herätin hänet unesta ja
kysyin hänen asiaansa. Se koski vuosia sitten keisarin palvelukseen
paennutta reininmaalaista; elikö tämä vielä vai ei. Perintöasia.
Ilmoitin, mitä tiesin, ja laskin tuon petturin menemään. En kysynyt
hänen nimeään, hän ei olisi kuitenkaan sanonut oikeata. Olisi myös
ollut mahdotonta ja samalla huutava vääryys vangita hänet unessa
lausuttujen katkonaisten sanojen perustuksella.»

»Aivan niin», myönsi kuningas.

»Teidän majesteettinne», sanoi friedlantilainen painostaen jokaista


tavuuta, »teitä on varoitettu!»

Kustaa mietti. »En tahdo tuhlata aikaa enkä myrkyttää mieltäni


seuraamalla näin epämääräisiä ja jo hävinneitä jälkiä. Olen Jumalani
kädessä. Eikö teidän ylhäisyydellänne ole muita todistajia tai
todisteita?»

Friedlantilainen veti esiin hansikkaan. »Korvani ja tämä riepu


tässä! Unhotin sanoa, että uneksija oli solakka, kasvot veltot, tyhjät;
luultavasti oli hänellä aivan kasvojenmukainen naamio, jommoisia
mitä suurimmalla taidolla valmistetaan Veneziassa. Mutta hänen
äänensä oli miellyttävästi voimakas, barytoni tai syvä altto,
jotakuinkin samanlainen kuin hovipojallanne, ja hansikas, joka putosi
häneltä huoneeseeni, käy myöskin tälle herralle kuin valettu.»

Kuningas nauroi sydämellisesti. »Voin panna pääni Leubelfingin


syliin ja nukkua rauhassa», vakuutti hän.
»En minäkään voisi epäillä tuota nuorta miestä», vastasi
friedlantilainen. »Hänellä on vilpittömät, rehelliset kasvot,
samanlaiset reippaat pojankasvot kuin kotiseutuni paljasjalkaisilla
talonpoikaistytöillä. En kuitenkaan, teidän majesteettinne, mene
kenestäkään takuuseen. Ulkomuoto voi pettää, enkä minä — vaikkei
se pettäisikään — tahtoisi pitää läheisyydessäni hovipoikaa, en edes
lemmikkiäni, jos hänellä olisi samallainen ääni kuin vihamiehelläni ja
hänen kätensä olisi samankokoinen kuin salamurhaajan käsi. Siinä
on jotain salaperäistä, kohtalokasta. Ja se voi olla turmiollista.»

Kustaa nauroi. Hän näytti ajattelevan, että suuri nousukas,


tehtyään jättiläissopimuksen habsburgilaiskeisarinsa kanssa, oli
joutunut pilventakaisten haaveitten ja kuvitelmien valtakuntaan ja oli
siksi nyt enemmän kuin koskaan kaikenlaisen taikauskon vallassa.
Kuningas huomasi selvästi miten friedlantilaisen usko kohtaloon ja
hänen yrityksensä tehdä tehottomaksi tätä kohtaloa olivat
ristiriidassa keskenään. Mutta vakuutettuna Jumalan olemassaolosta
ei Kustaa tahtonut ainoallakaan sanalla tai viittauksella kosketella
alaa, missä hän arveli helvetin kujeiden pitävän peliään. Hän ei enää
jatkanut keskustelua vaan nousi kiittäen herttuaa hänen vilpittömästä
tarkoituksestaan. Samalla hän kuitenkin tarttui hansikkaaseen, jonka
friedlantilainen oli välinpitämättömästi heittänyt heidän välillään
olevalle pienelle pöydälle, mutta hän teki sen niin huolettomana ja
tarkastamatta hansikasta ollenkaan lyhytnäköisillä silmillään, että
terävänäköisen Wallensteinin ehdottomasti täytyi hymyillä
noustessaan tuoliltaan lähteäkseen.

»Minua ilahduttaa», sanoi kuningas leikillisesti, saattaessaan


friedlantilaista ovelle, »että teidän ylhäisyytenne huolehtii
hengestäni».
»Sehän on luonnollista», vastasi Wallenstein. »Vaikka teidän
majesteettinne ja minä taistelemmekin armadoillamme toisiamme
vastaan, kuuluu teidän majesteettinne ja minä — herttua vältti
kohteliaasti sanaa 'me' — kuitenkin yhteen. Ei voi ajatella toista
ilman toista, ja», laski hän vuorostaan leikkiä, »jos jompikumpi,
teidän majesteettinne tai minä, suistuisi maailmankiikun toisesta
päästä, löisi toinenkin pää säälimättä maahan».

Kuningas vaipui mietteisiin ja hänen päähänsä juolahti vasten


tahtoaan ajatus, että jokin tähtien asento tai tähtisikermä oli
osoittanut friedlantilaiselle, että heidän kuolinhetkensä riippuvat
toisistaan, osoittanut toisen seuraavan toista kuin salaa hiipien.
Ihmeellistä kyllä sai tämä ajatus hänessä vallan huolimatta hänen
jumalanpelostaan. Kristillinen kuningas tunsi, miten taikauskon
ilmakehä, joka ympäröi friedlantilaista, alkoi tunkeutua häneenkin.
Hän astui taas askeleen ovea kohti.

»Teidän majesteettinne pitäisi», lopetti friedlantilainen miltei


tutunomaisesti vierailunsa, »suojella itseään ainakin lapsenne
vuoksi. Prinsessa on hyvä oppimaan, kuten olen kuullut, ja on teidän
majesteettinne silmäterä. Kun ei ole poikia! Minäkin olen samallainen
pelkkien tyttöjen isä!» sanoi herttua jäähyväisiksi.

Hovipoika oli kuunnellut salaa, ja keskustelu oli kuin aave nostanut


pystyyn hänen hiuksensa. Hän näki vielä Kustaan heittäytyvän
tuolilleen ja leikkivän hansikkaan kanssa. Hän vei silmänsä pois
raosta, astui horjuen huoneeseensa, heittäytyi maahan vuoteensa
viereen rukoillen taivaan suojelusta sankarilleen, jolle hänen pelkkä
läsnäolonsa — kuten friedlantilainen arveli ja hän jo itsekin alkoi
uskoa — saattoi tuottaa aavistamatonta turmiota. »Millä hinnalla
tahansa», lupasi hän epätoivoissaan, »riistäydyn minä hänestä, minä
jätän hänet, jottei minun tuhoisa läsnäoloni tuottaisi hänelle
onnettomuutta».

Kun häntä ei kutsuttu, hiipi hän kuninkaan luo vasta tuona


lomahetkenä, joka sitten kului suurimmaksi osaksi yhdentekevässä
keskustelussa, lukuunottamatta hovipojan saamaa nuhdetta: »missä
olet tänään päivällisaikaan kuljeskellut, Leubelfing? Minä huusin
sinua ja sinä olit poissa.» Hovipoika vastasi tähän, kuten olikin, että
hän oli tuntenut aamun järkyttäväin kohtausten jälkeen tarvetta
hengittää raitista ilmaa, hypännyt hevosen selkään ja kiidättänyt sitä
Wallensteinin leiriin päin, miltei hänen tykkiensä kantamiin. Hän
koetti saada kuninkaan laittamaan hänet ystävällisesti luotaan, mutta
ei onnistunut siinä. Keskustelu sai taas luontevan suunnan, ja kello
löi yhdeksän. Silloin otti Kustaa hajamielisen näköisenä hansikkaan
taskusta ja sanoi sitä katsoen: »tämä ei ole minun. Oletko sinä
huolimattomuudessasi sen hukannut ja minä erehdyksestä vetänyt
sen käteeni? Katsotaan!» Hän otti leikkisästi kiinni hovipojan
vasemmasta kädestä ja veti pehmeän nahan hänen sormiinsa. »Se
sopii», sanoi hän.

Mutta hovipoika heittäytyi hänen eteensä maahan, tarttui hänen


käsiinsä ja antoi kyynelten vuotaa niille. »Hyvästi, herrani, kaikkeni!»
nyyhkytti hän. »Suojelkoon sinua Jumala ja hänen joukkonsa!»
Nousten äkkiä pystyyn juoksi hän kuin mieletön ulos. Kustaa nousi ja
huusi häntä takaisin. Mutta kuului vain nelistävän hevosen
kavionkapsetta, eikä kuningas — omituista kyllä — yöllä eikä
seuraavanakaan päivänä pannut toimeen tiedusteluja hovipoikansa
paosta ja poissaolosta. Tosin hänellä oli tarpeeksi muuta
ajattelemista; sillä hän oli päättänyt lopettaa majailun Nürnbergin
luona.
Leubelfing antoi hevosensa nelistää, kunnes se lopulta itsestään
väsyi leirin perimmässä laidassa. Ratsastajankin mieli alkoi
rauhoittua. Kuutamossa oli valoisaa kuin päivällä, ja hevonen astui
rauhallisesti. Pakolainen harkitsi tarkkaan tapahtumaa ja hänen
silmiinsä tuli salaperäisyyden verhosta rakkauden ja vihan
sytyttämällä kirkkaudella hänen aave-seuralaisensa. Se oli
lauenburgilainen. Olihan hän nähnyt, miten tuo rikoksen leimaama
mies oli puristanut nyrkkiään kuninkaan oikeudenmukaisuudelle!
Eikö lauenburgilaisen ääni muistuttanut hänen omaa ääntään? Ja
olihan Leubelfingissä ollut tarpeeksi naista huomaamaan tuona
kammottavana hetkenä ruhtinaan nyrkin pienuuden. Asia oli selvä,
lauenburgilainen suunnitteli kostoa ja vainosi kuninkaan kallista
henkeä. Ja tänä kaameana hetkenä, jolloin kuningasta uhattiin ja
hänen luokseen koetettiin hiipiä, oli Leubelfing paennut hänen
luotaan. Pohjaton huoli rakkaimmasta, mitä hänellä koskaan oli ollut,
kouristi hovipojan sydäntä, ja ajatellessaan, ettei hän enää sitä
omistanut, puhkesi hän suruissaan tuskaisaan nyyhkytykseen,
hillittömästi tulvehtiviin kyyneliin. Ruotsalaiselta vahdilta,
harmaaviiksiseltä musketöriltä vääntyi suu hauskaan virnistelyyn,
kun hän näki solakan ratsastajan itkevän. Hän kysyi
hyväntahtoisesti: »Tekeekö nuoren herran mieli kotiin?»

Leubelfing tukahutti itkuaan ja ratsasti hitaasti eteenpäin. Kun


Luoja oli antanut hänelle rohkeuden, jonka taistelutanner oli tehnyt
kaksinkertaiseksi, päätti hän pysyä edelleenkin leirissä. »Kuningas
tulee lopettamaan majailun», ajatteli hän itsekseen, »minä pääsen
johonkin rykmenttiin, ja marssit ja väsymys auttavat minua
pysymään tuntemattomana. Sitten tulee taistelu!»

Hän huomasi nyt erään everstin, joka valppaasti tarkastaen


ratsasti pitkin leiriteitä. Kuuvalo oli niin kirkas, että olisi helposti
saattanut lukea kirjeen. Hovipoika tunsi hänet ensi silmäyksellä
isänsä ystäväksi, samaksi, joka oli ollut kapteeni Leubelfingin
sekundanttina kaksintaistelussa, jossa tämä oli saanut surmansa.
Hovipoika ohjasi raudikkonsa ruotsalaisen everstin vasemmalle
puolelle. Eversti, joka oli viime aikoina enimmäkseen ollut
etuvartiostossa, katseli tutkivasti nuorta ratsastajaa. »Joko minä
erehdyn», alkoi hän, »taikka olen, joskin jonkun välimatkan päästä,
nähnyt teidän armonne ratsastavan hovipoikana kuninkaan rinnalla?
Tosiaan, nythän minä tunnen teidät, vaikka olettekin jonkun verran
kuutamon-kalpea ja surumielisen näköinen.» Ikäänkuin jokin muisto
olisi äkkiä hänet vallannut, jatkoi hän: »Oletteko nürnbergiläinen ja
sukua kapteeni Leubelfing-vainajalle? Olette pelottavassa määrin
hänen näköisensä, tai oikeastaan hänen lapsensa, Gustel-
huimapään näköinen, joka kuudentoista vanhaksi ratsasti meidän
mukanamme. Mutta kuutamo se pettää ja loihtii. Nouskaamme.
Tässä on telttani.» Hän jätti hevoset, sekä omansa että hovipojan,
odottavan litteänenäisen ja leveänaamaisen palvelijan huostaan,
joka otti vastaan isäntänsä hyväntahtoisesti ja typerästi hymyillen.

»Olkaa kuin kotonanne», kehoitti vanhus hovipoikaa, ja tarjosi


hänelle telttatuolin istuutuen itse kovalle vuoteelleen. Valoneuvoina
oli kaksi levotonta tulisoihtua.

Everstin leveä, rehellinen käsi alkoi muitta mutkitta silittää


hovipojan päätä. Hiusrajassa otsalla tuli vanha mutta syvä arpi
näkyviin. »Gustel, veitikka», pääsi vanhukselta, »luuletko, että olen
unhottanut, miten unkarilainen varsa heitti takajalkansa ilmaan ja
viskasi sinut jukopäänsä yli, niin että sinä lensit kauas ilmassa ja me
kaikki kolme jo luulimme sinun heittäneen henkesi, äitisi parkui, isäsi
tuli kalpeaksi kuin aave ja minä itse säikähdin pahasti? Oiva sotilas
oli Leubelfing-vainaja, kunnon kapteenini ja rakkain ystäväni! Vähän

You might also like