Integer Programming Models

Similar documents
Financial Optimization ISE 347/447. Lecture 15. Dr. Ted Ralphs

Lecture 10: The knapsack problem

Chapter 9 Integer Programming Part 1. Prof. Dr. Arslan M. ÖRNEK

Integer Programming. Review Paper (Fall 2001) Muthiah Prabhakar Ponnambalam (University of Texas Austin)

Bounding Optimal Expected Revenues for Assortment Optimization under Mixtures of Multinomial Logits

Advanced Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras

DM559/DM545 Linear and integer programming

Essays on Some Combinatorial Optimization Problems with Interval Data

Optimization Methods in Management Science

CS 573: Algorithmic Game Theory Lecture date: 22 February Combinatorial Auctions 1. 2 The Vickrey-Clarke-Groves (VCG) Mechanism 3

Tutorial 4 - Pigouvian Taxes and Pollution Permits II. Corrections

1 Shapley-Shubik Model

CSCI 1951-G Optimization Methods in Finance Part 00: Course Logistics Introduction to Finance Optimization Problems

Lecture 5: Iterative Combinatorial Auctions

CS364B: Frontiers in Mechanism Design Lecture #18: Multi-Parameter Revenue-Maximization

6.896 Topics in Algorithmic Game Theory February 10, Lecture 3

Graphs Details Math Examples Using data Tax example. Decision. Intermediate Micro. Lecture 5. Chapter 5 of Varian

Issues. Senate (Total = 100) Senate Group 1 Y Y N N Y 32 Senate Group 2 Y Y D N D 16 Senate Group 3 N N Y Y Y 30 Senate Group 4 D Y N D Y 22

MS&E 246: Lecture 2 The basics. Ramesh Johari January 16, 2007

A Robust Option Pricing Problem

Yao s Minimax Principle

MS-E2114 Investment Science Lecture 5: Mean-variance portfolio theory

Algorithmic Game Theory (a primer) Depth Qualifying Exam for Ashish Rastogi (Ph.D. candidate)

Scenario reduction and scenario tree construction for power management problems

Mechanism Design and Auctions

Chapter 3. Dynamic discrete games and auctions: an introduction

Final Examination December 14, Economics 5010 AF3.0 : Applied Microeconomics. time=2.5 hours

The Irrevocable Multi-Armed Bandit Problem

Chapter 7: Portfolio Theory

Martingale Pricing Theory in Discrete-Time and Discrete-Space Models

An Enhanced Combinatorial Clock Auction *

Robust Dual Dynamic Programming

Babu Banarasi Das National Institute of Technology and Management

Math 167: Mathematical Game Theory Instructor: Alpár R. Mészáros

CS364A: Algorithmic Game Theory Lecture #3: Myerson s Lemma

An Approximation Algorithm for Capacity Allocation over a Single Flight Leg with Fare-Locking

Lecture 2: Fundamentals of meanvariance

Log-Robust Portfolio Management

The Assignment Problem

Journal of Computational and Applied Mathematics. The mean-absolute deviation portfolio selection problem with interval-valued returns

Q1. [?? pts] Search Traces

Price of Anarchy Smoothness Price of Stability. Price of Anarchy. Algorithmic Game Theory

Handout 8: Introduction to Stochastic Dynamic Programming. 2 Examples of Stochastic Dynamic Programming Problems

ECON 459 Game Theory. Lecture Notes Auctions. Luca Anderlini Spring 2017

Assortment Planning under the Multinomial Logit Model with Totally Unimodular Constraint Structures

Integer Solution to a Graph-based Linear Programming Problem

Auctions. Michal Jakob Agent Technology Center, Dept. of Computer Science and Engineering, FEE, Czech Technical University

IEOR E4004: Introduction to OR: Deterministic Models

MAT 4250: Lecture 1 Eric Chung

Chapter 8. Markowitz Portfolio Theory. 8.1 Expected Returns and Covariance

Multistage Stochastic Demand-side Management for Price-Making Major Consumers of Electricity in a Co-optimized Energy and Reserve Market

Online Appendix: Extensions

Decomposition Methods

Techniques for Calculating the Efficient Frontier

Strategy -1- Strategy

ORF 307: Lecture 12. Linear Programming: Chapter 11: Game Theory

A Branch-and-Price method for the Multiple-depot Vehicle and Crew Scheduling Problem

CS360 Homework 14 Solution

Single Price Mechanisms for Revenue Maximization in Unlimited Supply Combinatorial Auctions

Optimization 101. Dan dibartolomeo Webinar (from Boston) October 22, 2013

Macroeconomics and finance

The Duo-Item Bisection Auction

Progressive Hedging for Multi-stage Stochastic Optimization Problems

Auctions. Michal Jakob Agent Technology Center, Dept. of Computer Science and Engineering, FEE, Czech Technical University

Revenue Management Under the Markov Chain Choice Model

Strategies and Nash Equilibrium. A Whirlwind Tour of Game Theory

The Lagrangian method is one way to solve constrained maximization problems.

Continuing Education Course #287 Engineering Methods in Microsoft Excel Part 2: Applied Optimization

Overview. ICE: Iterative Combinatorial Exchanges. Combinatorial Auctions. Motivating Domains. Exchange Example 1. Benjamin Lubin

PORTFOLIO OPTIMIZATION AND EXPECTED SHORTFALL MINIMIZATION FROM HISTORICAL DATA

COMP331/557. Chapter 6: Optimisation in Finance: Cash-Flow. (Cornuejols & Tütüncü, Chapter 3)

Deterministic Dynamic Programming

Net lift and return maximization. Victor D. Zurkowski Analytics Consultant Metrics and Analytics CIBC National Collection

Outline for today. Stat155 Game Theory Lecture 19: Price of anarchy. Cooperative games. Price of anarchy. Price of anarchy

COSC 311: ALGORITHMS HW4: NETWORK FLOW

New Features of Population Synthesis: PopSyn III of CT-RAMP

Pricing Transmission

The Duration Derby: A Comparison of Duration Based Strategies in Asset Liability Management

CS364A: Algorithmic Game Theory Lecture #14: Robust Price-of-Anarchy Bounds in Smooth Games

Energy Systems under Uncertainty: Modeling and Computations

Portfolio selection with multiple risk measures

OPTIMIZATION METHODS IN FINANCE

Scenario Generation and Sampling Methods

Marshall and Hicks Understanding the Ordinary and Compensated Demand

Notes on Auctions. Theorem 1 In a second price sealed bid auction bidding your valuation is always a weakly dominant strategy.

1 Overview. 2 The Gradient Descent Algorithm. AM 221: Advanced Optimization Spring 2016

Optimization Methods in Finance

PAULI MURTO, ANDREY ZHUKOV

CS224W: Social and Information Network Analysis Jure Leskovec, Stanford University

THE TRAVELING SALESMAN PROBLEM FOR MOVING POINTS ON A LINE

Multistage risk-averse asset allocation with transaction costs

Games of Incomplete Information ( 資訊不全賽局 ) Games of Incomplete Information

The Clock-Proxy Auction: A Practical Combinatorial Auction Design

Threshold Accepting for Credit Risk Assessment and Validation

So we turn now to many-to-one matching with money, which is generally seen as a model of firms hiring workers

An Exact Solution Approach for Portfolio Optimization Problems under Stochastic and Integer Constraints

Choice. A. Optimal choice 1. move along the budget line until preferred set doesn t cross the budget set. Figure 5.1.

Stochastic Optimization Methods in Scheduling. Rolf H. Möhring Technische Universität Berlin Combinatorial Optimization and Graph Algorithms

Utility Indifference Pricing and Dynamic Programming Algorithm

Optimal Integer Delay Budget Assignment on Directed Acyclic Graphs

Transcription:

Integer Programming Models Fabio Furini December 10, 2014 Integer Programming Models 1

Outline 1 Combinatorial Auctions 2 The Lockbox Problem 3 Constructing an Index Fund Integer Programming Models 2

Integer Programming Models Constructing financial models Integer Programming Models 3

Combinatorial Auctions An auction is a process of buying and selling goods or services by offering them up for bid, taking bids, and then selling the item to the highest bidder. In economic theory, an auction may refer to any mechanism or set of trading rules for exchange. the value that a bidder has for a set of items may not be the sum of the values that he has for individual items Examples are equity trading, electricity markets, pollution right auctions and auctions for airport landing slots. To take this into account, combinatorial auctions allow the bidders to submit bids on combinations of items. Integer Programming Models 4

Combinatorial Auctions Problem data: let M = {1, 2,..., m} be the set of items that the auctioneer has to sell a bid is a pair B j = (S j, p j ) where S j M is a nonempty set of items and p j is the price offer for this set Suppose that the auctioneer has received n bids B1, B2,..., B n How should the auctioneer determine the winners in order to maximize his revenue? Integer Programming Models 5

Combinatorial Auctions The auctioneer maximizes his revenue by solving the integer program: x j = { 1 if bid Bj wins 0 otherwise max n p j x j (1) j=1 j:i S j x j 1 i = 1,..., m (2) x j {0, 1} j = 1,..., n (3) The constraints impose that each item i is sold at most once. Integer Programming Models 6

Combinatorial Auctions For example, if there are four items for sale and the following bids have been received: B 1 = ({1}, 6) B 2 = ({2}, 3) B 3 = ({3, 4}, 12) B 4 = ({1, 3}, 12) B 5 = ({2, 4}, 8) B 6 = ({1, 3, 4}, 16) The winners can be determined by the following integer program: max 6x 1 + 3x 2 + 12x 3 + 12x 4 + 8x 5 + 16x 6 (4) x 1 + x 4 + x 6 1 (5) x 2 + x 5 1 (6) x 3 + x 4 + x 6 1 (7) x 3 + x 5 + x 6 1 (8) x j {0, 1} j = 1,..., 6 (9) Integer Programming Models 7

The Lockbox Problem Consider a national firm that receives checks from all over the United States. Due to the vagaries of the U.S. Postal Service, as well as the banking system, there is a variable delay from when the check is postmarked and when the check clears For instance, a check mailed in Pittsburgh sent to a Pittsburgh address might clear in just 2 days. A similar check sent to Los Angeles might take 4 days to clear. In order to speed up this clearing, firms open offices (called lockboxes) in different cities to handle the checks. Which lockboxes should we open? Integer Programming Models 8

The Lockbox Problem We receive payments from 4 regions (West, Mid-west, East, and South) The average daily value from each region is as follows: 300,000 from the West 120,000 from the Midwest 360,000 from the East 180,000 from the South We are considering opening lock- boxes in (and/or): L.A. Cincinnati Boston Houston Operating a lockbox costs 90,000 per year. Integer Programming Models 9

The Lockbox Problem The average days from mailing to clearing is given in the table: From To L.A. Cincinnati Boston Houston West 2 4 6 6 Midwest 4 2 5 5 East 6 5 2 5 South 7 5 6 3 Table: Average days from mailing to clearing First we must calculate the losses due to lost interest for each possible assignment. For example, if the West sends to Boston, then on average there will be 1,800,000 (= 6 300, 000) in process on any given day. Assuming an investment rate of 10%, this corresponds to a yearly loss of 180,000. Integer Programming Models 10

The Lockbox Problem We can calculate the losses for the other possibilities in a similar fashion to get the table: From To L.A. Cincinnati Boston Houston West 60 120 180 180 Midwest 48 24 60 60 East 216 180 72 180 South 126 90 108 54 Table: losses Integer Programming Models 11

The Lockbox Problem n = number of lockboxes (j = 1,..., n) m = number of regions (i = 1,..., m) α ij = annual cost of assigning region i to the lockbox j β j = annual cost of lockbox j { 1 if lockbox j is opened y j = 0 otherwise { 1 if region i sends to lockbox j x ij = 0 otherwise Integer Programming Models 12

The Lockbox Problem n m n min α ij x ij + β j y j j=1 i=1 j=1 n x ij = 1 j=1 m x j my j i=1 x ij {0, 1} y j {0, 1} i = 1,..., m j = 1,..., n i = 1,..., m, j = 1,..., n j = 1,..., n Integer Programming Models 13

The Lockbox Problem min 60x 11 + 120x 12 + 180x 13 + 180x 14 +48x 21 + 24x 22 + 60x 23 + 60x 24 +216x 31 + 180x 32 + 72x 33 + 180x 34 +126x 41 + 90x 42 + 108x 43 + 54x 44 +90y 1 + 90y 2 + 90y 3 + 90y 4 x 11 + x 12 + x 13 + x 14 = 1 x 21 + x 22 + x 23 + x 24 = 1 x 31 + x 32 + x 33 + x 34 = 1 x 41 + x 42 + x 43 + x 44 = 1 x 11 + x 21 + x 31 + x 41 4y 1 0 x 12 + x 22 + x 32 + x 42 4y 2 0 x 13 + x 23 + x 33 + x 43 4y 3 0 x 14 + x 24 + x 34 + x 44 4y 4 0 x ij {0, 1} i = 1,..., 4, j = 1,..., 4 y j {0, 1} j = 1,..., 4 Integer Programming Models 14

The Lockbox Problem The above is a correct 01 programming formulation of the lockbox problem. There are other formulations, however. For instance, consider the sixteen constraints of the form: x ij y j i = 1,..., m, j = 1,..., n (10) Different formulations can have very different properties with respect to their associated linear program. One very active research area is to take common problems and find good reformulations. Integer Programming Models 15

Constructing an Index Fund Different possibilities of portfolio management: active portfolio management tries to achieve superior performance by using forecasting techniques passive portfolio management avoids any forecasting techniques and rather relies on diversification to achieve a desired performance There are 2 types of passive management strategies: buy and hold: assets are selected on the basis of some fundamental criteria and there is no active selling or buying of these stocks afterwards indexing: the goal is to choose a portfolio that mirrors the movements of a broad market population or a market index. Such a portfolio is called an index fund. Integer Programming Models 16

Index fund Definition Given a target population of n stocks, one selects q stocks and their weights in the index fund, to represent the target population as closely as possible. In the last twenty years, an increasing number of investors, both large and small, have established index funds. The rising popularity of index funds can be justified both theoretically and empirically Integer Programming Models 17

Constructing an Index Fund Market Efficiency: If the market is efficient, no superior risk-adjusted returns can be achieved by stock picking strategies since the prices reflect all the information available in the marketplace. An index fund captures the efficiency of the market via diversification. Empirical Performance: Considerable empirical literature provides strong evidence that, on average, money managers have consistently underperformed the major indexes (luck is an explanation for good performance). Transaction Cost: Actively managed funds incur transaction costs, which reduce the overall performance of these funds. In addition, active management implies significant research costs. Integer Programming Models 18

Index fund Additional features Additional features: Here we take the point of view of a fund manager who wants to construct an index fund. Strategies for forming index funds involve choosing a broad market index as a proxy for an entire market, e.g. the Standard and Poor list of 500 stocks (S&P 500) A pure indexing approach consists in purchasing all the issues in the index, with the same exact weights as in the index. In most instances, this approach is impractical (many small positions) and expensive (rebalancing costs may be incurred frequently) Integer Programming Models 19

Index fund Additional features We propose a large-scale deterministic model for aggregating a broad market index of stocks into a smaller more manageable index fund. This approach will produce a portfolio that closely replicates the underlying market population. We present a model that: clusters the assets into groups of similar assets selects one representative asset from each group to be included in the index fund portfolio The model is based on the following data: ρ ij = similarity between stock i and stock j (11) Integer Programming Models 20

Index fund Typical features ρ ii = 1 ρ ij 1 for i j ρ ij is larger for more similar stocks An example is the correlation between the returns of stocks i and j Decision variables: { 1 if stock j is in the index fund y j = 0 otherwise { 1 if j is the most similar stock to stock i in the index fund x ij = 0 otherwise Integer Programming Models 21

Index fund (IF ) n n max ρ ij x ij (12) i=1 j=1 n y j = q (13) j=1 n x ij = 1 i = 1,..., n (14) j=1 x ij y j i = 1,..., n, j = 1,..., n (15) x ij {0, 1} i = 1,..., n, j = 1,..., n (16) y j {0, 1} j = 1,..., n (17) Integer Programming Models 22

Index fund Once the model has been solved and a set of q stocks has been selected for the index fund, a weight w j is calculated for each j in the fund: w j = n V i x ij (18) i=1 where V i is the market value of stock i. So w j is the total market value of the stocks represented by stock j in the fund The fraction of the index fund to be invested in stock j is proportional to the stocks weight w j w j q f =1 w f Note that, instead of the objective function used, one could have used an objective function that takes the weights w j directly into account n n i=1 j=1 V iρ ij x ij Integer Programming Models 23

Index fund Solution strategies Branch-and-bound is a natural candidate for solving the model, however that the formulation can be very large. Indeed, for the S&P 500, there are 250,000 variables x ij and 250,000 constraints x ij y j The linear programming relaxation needed to get upper bounds in the branch-and-bound algorithm is difficult to solve Instead of the linear programming relaxation, one can use the Lagrangian relaxation Integer Programming Models 24

Index fund Lagrangian Relaxation max L(u) = n n n n ρ ij x ij + u i (1 x ij ) i=1 j=1 i=1 j=1 n y j = q j=1 x ij y j x ij {0, 1} y j {0, 1} i = 1,..., n, j = 1,..., n i = 1,..., n, j = 1,..., n j = 1,..., n where u = (u1,..., u n ) is the vector of the Lagrangian Multipliers Integer Programming Models 25

Index fund Property 1: L(u) Z, where Z is the maximum for the model Proof: Let x be the optimal solution of the problem IF, then x is also a feasible solution of L(u) for each u 0. the quantity (Ax b) is 0, then: c T x + u(ax b) L(u) proving that L(u) Z. c T x L(u) The objective function L(u) may be equivalently stated as: max L(u) = n n n (ρ ij u i )x ij + u i (19) i=1 j=1 i=1 Integer Programming Models 26

Index fund (ρ ij u i ) + = { (ρij u i ) if ρ ij - u i 0 0 otherwise C j = n (ρ ij u i ) + (20) i=1 n n max L(u) = C j y j + u i (21) j=1 i=1 n y j = q (22) j=1 y j {0, 1} j = 1,..., n (23) Integer Programming Models 27

Index fund Property 3: In an optimal solution of the Lagrangian relax, y j is equal to 1 for the q largest values of C j, and the remaining y j are equal to 0. Interestingly, the set of q stocks corresponding to the q largest values of C j can also be used as a heuristic solution for the model Specifically, construct an index fund containing these q stocks and assign each stock i = 1,..., n to the most similar stock in this fund This solution is feasible to the model, although not necessarily optimal. So for any vector u, we can compute quickly both a lower bound and an upper bound on the optimum value of the model How does one minimize L(u)? Integer Programming Models 28

Index fund Since L(u) is non-differentiable and convex, one can use the subgradient method At each iteration, a revised set of Lagrange multipliers u and an accompanying lower bound and upper bound to the model are computed The algorithm terminates when these two bounds match or when a maximum number of iterations is reached It can be proved that min L(u) is equal to the value of the linear programming relaxation of the model In general, this is not true and therefore it is not possible to match the upper and lower bounds If one wants to solve the integer program to optimality, one can use a branch-and-bound algorithm, using the upper bound min L(u) for pruning the nodes. Integer Programming Models 29

fabio.furini@dauphine.fr Integer Programming Models 30