SlideShare ist ein Scribd-Unternehmen logo
1 von 28
CCISDevt Sharing Session




Applying Linear Optimization
        Using GLPK
Outline

What is Linear Optimization?
What is GLPK?
Available Bindings
GNU MathProg Scripting
Examples:
 Trans-shipment (the standard example)
 Time Table Scheduling (from school days...)
 Allocating HDB Flats by “Combinatorial Auction”
                                                   2
Linear Optimization? What?

The minimization of functions of the form
 c1 x1 + c2 x2 + …+ cn xn
by varying decision variables xi,
subject to constraints of the form
 ai1 x1 + ai2 x2 + …+ ain xn = bi or
 ai1 x1 + ai2 x2 + …+ ain xn ≤ bi
where the other coefficients aij, bi and ci are fixed.

                                                     3
Linear Optimization? What?

A typical example: “The Diet Problem”. By
 varying the intake of each type of food (e.g.:
 chicken rice, durian, cheese cake), minimize
 (The Total Cost of Food)
subject to
 (Non-negativity of the intakes of each type.)
 (Satisfaction of minimum nutritional requirements)


                                                      4
Linear Optimization? What?

A secondary school example. By varying decision
 variables x and y, maximize
 2x+y
subject to
 x ≥ 0, x ≤ 1,
 y ≥ 0, y ≤ 1,
 x + y ≤ 1.5


                                              5
Linear Optimization? What?

A secondary school example. By varying decision
 variables x and y, maximize
 2x+y
subject to
 x ≥ 0, x ≤ 1,
 y ≥ 0, y ≤ 1,
 x + y ≤ 1.5


                                              6
Linear Optimization? What?

A secondary school example. By varying decision
 variables x and y, maximize
 2x+y
subject to
 x ≥ 0, x ≤ 1,
 y ≥ 0, y ≤ 1,
 x + y ≤ 1.5


                                              7
Linear Optimization? What?

A secondary school example. By varying decision
 variables x and y, maximize
 2x+y
subject to
 x ≥ 0, x ≤ 1,
 y ≥ 0, y ≤ 1,
 x + y ≤ 1.5


                                              8
Linear Optimization? What?

A more useful sounding example: “Simple
 Commodity Flow”. By varying the number of TV
 sets being transferred along each road in a
 road network, minimize
 (Total Distance each TV set is moved through)
subject to
 (Non-negativity of the flows)
 (Sum of Inflows = Sum of Outflows at each junction where
    Stock counts as inflow & demand, outflow.)
                                                            9
Linear Optimization? What?

Perhaps one of the most widely used mathematical
 techniques:
 Network flow / multi-commodity flow problems
 Project Management
 Production Planning, etc...
Used in Mixed Integer Linear Optimization for:
 Airplane scheduling
 Facility planning
 Timetabling, etc...
                                                   10
Linear Optimization? What?

Solution methods:
 Simplex-based algorithms
   Non-polynomial-time algorithm
   Performs much better in practice than predicted by
      theory
 Interior-point methods
   Polynomial-time algorithm
   Also performs better in practice than predicted by
      theory
                                                        11
What is GLPK

GLPK: GNU Linear Programming Kit
An open-source, cross-platform software package for
 solving large-scale Linear Optimization and Mixed
 Integer Linear Optimization problems.
Comes bundled with the GNU MathProg scripting
 language for rapid development.
URL: http://www.gnu.org/software/glpk/
GUSEK (a useful front-end):
 http://gusek.sourceforge.net/gusek.html

                                                      12
Bindings for GLPK

GLPK bindings exist for:
 C, C++ (with distribution)
 Java (with distribution)
 C#
 Python, Ruby, Erlang
 MATLAB, R
 … even Lisp.
 (And probably many more.)

                                13
Scripting with GNU MathProg

For expressing optimization problems in a compact,
  human readable format.
Used to generate problems for computer solution.
Usable in production as problem generation is typically a
 small fraction of solution time and problem generation
 (in C/C++/Java/etc) via the API takes about as long.
Hence, “rapid development” as opposed to “rapid
 prototyping”.


                                                        14
Scripting with GNU MathProg

Parts of a script:
 Model: Description of objective function and
   constraints to be satisfied
 Data: Parameters that go into the model
Data can be acquired from a database (e.g. via
 ODBC).
Post processed solution can be written to a
 database.

                                                 15
Scripting with GNU MathProg

Model File (For choosing a meet-up date)
 set Peoples;
 set Days;
 set Meals;
 ... # PrefInd[...] defined here
 var x{d in Days, m in Meals} binary;
 maximize Participation_and_Preference: sum{p in Peoples, d in Days, m
     in Meals} PrefInd[p,d,m]*x[d,m];
 s.t.        one_meal: sum{d in Days, m in Meals} x[d,m] = 1;
 solve;
 ...    # Post-processing here
 end;

                                                                         16
Scripting with GNU MathProg

Data File (for the above model)
 data;
 set Peoples := JC LZY FYN MJ;
 set Days := Mon Tue Wed Thu Fri Sat Sun;
 set Meals := Lunch Dinner;
 # Last element is 1 if preferred, 0 if otherwise
 set Prefs :=
   (JC, Mon, Dinner, 1),
   (JC, Tue, Dinner, 0),
   ... # Rest of preference data
   ;
 end;

                                                    17
Scripting with GNU MathProg

Good “student” practice:
 Decouple model from data (separate files)
 Write script to generate data file from sources
Reasonable production practice
 Decouple model from data
 Acquire data from and write output to database
 Abuse: Read statements can be used to write to the
   database (e.g.: a “currently working” flag)

                                                      18
Examples

Trans-shipment (the standard example)
 A source to destination network flow problem
 Data: Quantity at source, Demand at destination
Time Table Scheduling (from school days...)
 Respect requirements, Maximize preference
 Support alternate “sessions” and multiple time slots
A “Combinatorial Auction” for HDB Flat Allocation
 Allocation and pricing of HDB flats
 Efficiently solvable (Surprise!)

                                                        19
Example: Trans-shipment

Model File
 set I;       /* canning plants */

 param a{i in I};      /* capacity of plant i */

 set J;       /* markets */

 param b{j in J};      /* demand at market j */

 param d{i in I, j in J};      /* distance in thousands of miles */

 param f;     /* freight in dollars per case per thousand miles */

 param c{i in I, j in J} := f * d[i,j] / 1000;     /* transport cost */

 var x{i in I, j in J} >= 0;   /* shipment quantities in cases */

 minimize cost: sum{i in I, j in J} c[i,j] * x[i,j];   /* total costs */

 s.t. supply{i in I}: sum{j in J} x[i,j] <= a[i];/* supply limits */

 s.t. demand{j in J}: sum{i in I} x[i,j] >= b[j];/* satisfy demand */

 solve;

 # < Post-processing code >

 end;

                                                                           20
Example: Trans-shipment

Data File
 data;
 set I := Seattle San-Diego;
 param a := Seattle 350
         San-Diego 600;
 set J := New-York Chicago Topeka;
 param b :=    New-York 325
         Chicago 300
         Topeka 275;
 param d :             New-York         Chicago   Topeka :=
   Seattle                2.5     1.7     1.8
   San-Diego     2.5      1.8     1.4 ;
 param f := 90;
 end;
                                                              21
Example: Trans-shipment

Sample Output
 GLPK Simplex Optimizer, v4.47

 6 rows, 6 columns, 18 non-zeros

 ...

 OPTIMAL SOLUTION FOUND

 ************************************************

 ***POST SOLVE                                      (Post-processed Output)

 ************************************************

 Flow[ Seattle -> New-York ] = 50.000000

 Flow[ Seattle -> Chicago ] = 300.000000

 Flow[ Seattle -> Topeka ] = 0.000000

 Flow[ San-Diego -> New-York ] = 275.000000

 Flow[ San-Diego -> Chicago ] = 0.000000

 Flow[ San-Diego -> Topeka ] = 275.000000

                                                                              22
Example: Trans-shipment

Using ODBC as a Data Source
 table tbl_plants IN 'ODBC' 'dsn=demo_tpt' 'plants' :
   I <- [name], a~capacity;
 table tbl_markets IN 'ODBC' 'dsn=demo_tpt' 'markets' :
   J <- [name], b~demand;
 table tbl_freight IN 'ODBC' 'dsn=demo_tpt' 'freight' :
   [plant,market], d~cost;

Sending Output to a Database (via ODBC)
 table result{i in I, j in J: x[i,j]} OUT 'ODBC' 'dsn=demo_tpt'
   'UPDATE freight SET flow=? WHERE (plant=?) and (market=?)' :
      x[i,j], i, j;




                                                                  23
Example: Time Tabling

Objective: Maximize “preference points”
Constraints:
 Pick exactly one appointment from appointment groups
    marked compulsory
 Pick at most one appointment any appointment group
 No timing clash between appointments




                                                      24
Example: Time Tabling

Sample (Post-Processed) Output
 Selected Appointment Groups:
   SMA_IS4241C_
   FM_BMA5008_
   ...
 Selected Appointments:
   SMA_IS4241: Fri 1400 - 1730
   FM_BMA5008_B: Mon 1800 – 2130
   ...


 Mon:
   1000 - 1230: APT_ST5214
   1800 - 2130: FM_BMA5008_B
 ...
                                   25
Example: A “Combinatorial”
 Auction for HDB Flat Allocation
Objective: Maximize “Allocative Efficiency” (via bids)
Constraints:
 All flats allocated (Balance allocated to “HDB”)
 At most one flat per “actual applicant”
 Allocation limits for applicant categories (Second-timers, Racial
     Quotas according to Ethnic Integration Policy)
Modified data used to price allocated flats (allocated
 bidder excluded; VCG Mechanism: optimal objective
 function value compared with that of full problem).

                                                                     26
Example: A “Combinatorial”
 Auction for HDB Flat Allocation
Sample Output (Synthetic Data)
 ...

 Solution by Bidder:

       Bidder 1 (2 bids): 1 x C_8
       Bidder 2 (1 bids):
       ...
 ...

       Bidders in group [SecondTimers, EIP_Limit_Chinese]   allocated C_8 at price 88 (reserve
            price: 53, % of reserve price: 166.0%)
       Bidders in group [EIP_Limit_Malay]   allocated C_3 at price 218 (reserve price: 180, % of
            reserve price: 121.1%)
 ...

       Bidder 1 allocated C_8 at price 88 [SecondTimers, EIP_Limit_Chinese] (bid: 95, reserve
            price: 53, savings: 7, possible savings: 42, % savings: 16.67%)
       Bidder 6 allocated C_3 at price 218 [EIP_Limit_Malay] (bid: 319, reserve price: 180,
            savings: 101, possible savings: 139, % savings: 72.66%)


                                                                                                   27
Thanks Everybody,
     Thanks.


                    28

Weitere ähnliche Inhalte

Was ist angesagt?

PyTorch 튜토리얼 (Touch to PyTorch)
PyTorch 튜토리얼 (Touch to PyTorch)PyTorch 튜토리얼 (Touch to PyTorch)
PyTorch 튜토리얼 (Touch to PyTorch)Hansol Kang
 
ICML2013読み会 Large-Scale Learning with Less RAM via Randomization
ICML2013読み会 Large-Scale Learning with Less RAM via RandomizationICML2013読み会 Large-Scale Learning with Less RAM via Randomization
ICML2013読み会 Large-Scale Learning with Less RAM via RandomizationHidekazu Oiwa
 
Sleep Period Optimization Model For Layered Video Service Delivery Over eMBMS...
Sleep Period Optimization Model For Layered Video Service Delivery Over eMBMS...Sleep Period Optimization Model For Layered Video Service Delivery Over eMBMS...
Sleep Period Optimization Model For Layered Video Service Delivery Over eMBMS...Andrea Tassi
 
To Swift 2...and Beyond!
To Swift 2...and Beyond!To Swift 2...and Beyond!
To Swift 2...and Beyond!Scott Gardner
 
Module Workshop NSC "Raspberry pi3 with Python" - Sanusi & Sasmitoh RR
Module Workshop NSC "Raspberry pi3 with Python" - Sanusi & Sasmitoh RRModule Workshop NSC "Raspberry pi3 with Python" - Sanusi & Sasmitoh RR
Module Workshop NSC "Raspberry pi3 with Python" - Sanusi & Sasmitoh RRSasmitoh Rahmad Riady
 
OPTEX MATHEMATICAL MODELING AND MANAGEMENT SYSTEM
OPTEX MATHEMATICAL MODELING AND MANAGEMENT SYSTEMOPTEX MATHEMATICAL MODELING AND MANAGEMENT SYSTEM
OPTEX MATHEMATICAL MODELING AND MANAGEMENT SYSTEMJesus Velasquez
 
A Generate-Test-Aggregate Parallel Programming Library on Spark
A Generate-Test-Aggregate Parallel Programming Library on SparkA Generate-Test-Aggregate Parallel Programming Library on Spark
A Generate-Test-Aggregate Parallel Programming Library on SparkYu Liu
 
Pydiomatic
PydiomaticPydiomatic
Pydiomaticrik0
 
C++ How I learned to stop worrying and love metaprogramming
C++ How I learned to stop worrying and love metaprogrammingC++ How I learned to stop worrying and love metaprogramming
C++ How I learned to stop worrying and love metaprogrammingcppfrug
 
Exploiting Concurrency with Dynamic Languages
Exploiting Concurrency with Dynamic LanguagesExploiting Concurrency with Dynamic Languages
Exploiting Concurrency with Dynamic LanguagesTobias Lindaaker
 
Cassandra Summit - What's New In Apache TinkerPop?
Cassandra Summit - What's New In Apache TinkerPop?Cassandra Summit - What's New In Apache TinkerPop?
Cassandra Summit - What's New In Apache TinkerPop?Stephen Mallette
 
OPTEX Mathematical Modeling and Management System
OPTEX Mathematical Modeling and Management SystemOPTEX Mathematical Modeling and Management System
OPTEX Mathematical Modeling and Management SystemJesus Velasquez
 
Seeing with Python presented at PyCon AU 2014
Seeing with Python presented at PyCon AU 2014Seeing with Python presented at PyCon AU 2014
Seeing with Python presented at PyCon AU 2014Mark Rees
 
Threads and Callbacks for Embedded Python
Threads and Callbacks for Embedded PythonThreads and Callbacks for Embedded Python
Threads and Callbacks for Embedded PythonYi-Lung Tsai
 
딥러닝 중급 - AlexNet과 VggNet (Basic of DCNN : AlexNet and VggNet)
딥러닝 중급 - AlexNet과 VggNet (Basic of DCNN : AlexNet and VggNet)딥러닝 중급 - AlexNet과 VggNet (Basic of DCNN : AlexNet and VggNet)
딥러닝 중급 - AlexNet과 VggNet (Basic of DCNN : AlexNet and VggNet)Hansol Kang
 
TensorFlow Dev Summit 2018 Extended: TensorFlow Eager Execution
TensorFlow Dev Summit 2018 Extended: TensorFlow Eager ExecutionTensorFlow Dev Summit 2018 Extended: TensorFlow Eager Execution
TensorFlow Dev Summit 2018 Extended: TensorFlow Eager ExecutionTaegyun Jeon
 
Go 프로그래밍 소개 - 장재휴, DomainDriven커뮤니티
Go 프로그래밍 소개 - 장재휴, DomainDriven커뮤니티Go 프로그래밍 소개 - 장재휴, DomainDriven커뮤니티
Go 프로그래밍 소개 - 장재휴, DomainDriven커뮤니티JaeYeoul Ahn
 
[JavaOne 2011] Models for Concurrent Programming
[JavaOne 2011] Models for Concurrent Programming[JavaOne 2011] Models for Concurrent Programming
[JavaOne 2011] Models for Concurrent ProgrammingTobias Lindaaker
 

Was ist angesagt? (20)

PyTorch 튜토리얼 (Touch to PyTorch)
PyTorch 튜토리얼 (Touch to PyTorch)PyTorch 튜토리얼 (Touch to PyTorch)
PyTorch 튜토리얼 (Touch to PyTorch)
 
ICML2013読み会 Large-Scale Learning with Less RAM via Randomization
ICML2013読み会 Large-Scale Learning with Less RAM via RandomizationICML2013読み会 Large-Scale Learning with Less RAM via Randomization
ICML2013読み会 Large-Scale Learning with Less RAM via Randomization
 
Welcome to python
Welcome to pythonWelcome to python
Welcome to python
 
Sleep Period Optimization Model For Layered Video Service Delivery Over eMBMS...
Sleep Period Optimization Model For Layered Video Service Delivery Over eMBMS...Sleep Period Optimization Model For Layered Video Service Delivery Over eMBMS...
Sleep Period Optimization Model For Layered Video Service Delivery Over eMBMS...
 
To Swift 2...and Beyond!
To Swift 2...and Beyond!To Swift 2...and Beyond!
To Swift 2...and Beyond!
 
Module Workshop NSC "Raspberry pi3 with Python" - Sanusi & Sasmitoh RR
Module Workshop NSC "Raspberry pi3 with Python" - Sanusi & Sasmitoh RRModule Workshop NSC "Raspberry pi3 with Python" - Sanusi & Sasmitoh RR
Module Workshop NSC "Raspberry pi3 with Python" - Sanusi & Sasmitoh RR
 
OPTEX MATHEMATICAL MODELING AND MANAGEMENT SYSTEM
OPTEX MATHEMATICAL MODELING AND MANAGEMENT SYSTEMOPTEX MATHEMATICAL MODELING AND MANAGEMENT SYSTEM
OPTEX MATHEMATICAL MODELING AND MANAGEMENT SYSTEM
 
A Generate-Test-Aggregate Parallel Programming Library on Spark
A Generate-Test-Aggregate Parallel Programming Library on SparkA Generate-Test-Aggregate Parallel Programming Library on Spark
A Generate-Test-Aggregate Parallel Programming Library on Spark
 
Pydiomatic
PydiomaticPydiomatic
Pydiomatic
 
C++ How I learned to stop worrying and love metaprogramming
C++ How I learned to stop worrying and love metaprogrammingC++ How I learned to stop worrying and love metaprogramming
C++ How I learned to stop worrying and love metaprogramming
 
Exploiting Concurrency with Dynamic Languages
Exploiting Concurrency with Dynamic LanguagesExploiting Concurrency with Dynamic Languages
Exploiting Concurrency with Dynamic Languages
 
Cassandra Summit - What's New In Apache TinkerPop?
Cassandra Summit - What's New In Apache TinkerPop?Cassandra Summit - What's New In Apache TinkerPop?
Cassandra Summit - What's New In Apache TinkerPop?
 
OPTEX Mathematical Modeling and Management System
OPTEX Mathematical Modeling and Management SystemOPTEX Mathematical Modeling and Management System
OPTEX Mathematical Modeling and Management System
 
Seeing with Python presented at PyCon AU 2014
Seeing with Python presented at PyCon AU 2014Seeing with Python presented at PyCon AU 2014
Seeing with Python presented at PyCon AU 2014
 
Threads and Callbacks for Embedded Python
Threads and Callbacks for Embedded PythonThreads and Callbacks for Embedded Python
Threads and Callbacks for Embedded Python
 
딥러닝 중급 - AlexNet과 VggNet (Basic of DCNN : AlexNet and VggNet)
딥러닝 중급 - AlexNet과 VggNet (Basic of DCNN : AlexNet and VggNet)딥러닝 중급 - AlexNet과 VggNet (Basic of DCNN : AlexNet and VggNet)
딥러닝 중급 - AlexNet과 VggNet (Basic of DCNN : AlexNet and VggNet)
 
TensorFlow Dev Summit 2018 Extended: TensorFlow Eager Execution
TensorFlow Dev Summit 2018 Extended: TensorFlow Eager ExecutionTensorFlow Dev Summit 2018 Extended: TensorFlow Eager Execution
TensorFlow Dev Summit 2018 Extended: TensorFlow Eager Execution
 
Groovy intro for OUDL
Groovy intro for OUDLGroovy intro for OUDL
Groovy intro for OUDL
 
Go 프로그래밍 소개 - 장재휴, DomainDriven커뮤니티
Go 프로그래밍 소개 - 장재휴, DomainDriven커뮤니티Go 프로그래밍 소개 - 장재휴, DomainDriven커뮤니티
Go 프로그래밍 소개 - 장재휴, DomainDriven커뮤니티
 
[JavaOne 2011] Models for Concurrent Programming
[JavaOne 2011] Models for Concurrent Programming[JavaOne 2011] Models for Concurrent Programming
[JavaOne 2011] Models for Concurrent Programming
 

Ähnlich wie Applying Linear Optimization Using GLPK

Informatics Practices (new) solution CBSE 2021, Compartment, improvement ex...
Informatics Practices (new) solution CBSE  2021, Compartment,  improvement ex...Informatics Practices (new) solution CBSE  2021, Compartment,  improvement ex...
Informatics Practices (new) solution CBSE 2021, Compartment, improvement ex...FarhanAhmade
 
Vcs slides on or 2014
Vcs slides on or 2014Vcs slides on or 2014
Vcs slides on or 2014Shakti Ranjan
 
The Concurrent Constraint Programming Research Programmes -- Redux (part2)
The Concurrent Constraint Programming Research Programmes -- Redux (part2)The Concurrent Constraint Programming Research Programmes -- Redux (part2)
The Concurrent Constraint Programming Research Programmes -- Redux (part2)Pierre Schaus
 
Cost-Based Optimizer in Apache Spark 2.2 Ron Hu, Sameer Agarwal, Wenchen Fan ...
Cost-Based Optimizer in Apache Spark 2.2 Ron Hu, Sameer Agarwal, Wenchen Fan ...Cost-Based Optimizer in Apache Spark 2.2 Ron Hu, Sameer Agarwal, Wenchen Fan ...
Cost-Based Optimizer in Apache Spark 2.2 Ron Hu, Sameer Agarwal, Wenchen Fan ...Databricks
 
Efficient Design Exploration for Civil Aircraft Using a Kriging-Based Genetic...
Efficient Design Exploration for Civil Aircraft Using a Kriging-Based Genetic...Efficient Design Exploration for Civil Aircraft Using a Kriging-Based Genetic...
Efficient Design Exploration for Civil Aircraft Using a Kriging-Based Genetic...Masahiro Kanazaki
 
Cost-Based Optimizer in Apache Spark 2.2
Cost-Based Optimizer in Apache Spark 2.2 Cost-Based Optimizer in Apache Spark 2.2
Cost-Based Optimizer in Apache Spark 2.2 Databricks
 
Adtech scala-performance-tuning-150323223738-conversion-gate01
Adtech scala-performance-tuning-150323223738-conversion-gate01Adtech scala-performance-tuning-150323223738-conversion-gate01
Adtech scala-performance-tuning-150323223738-conversion-gate01Giridhar Addepalli
 
Adtech x Scala x Performance tuning
Adtech x Scala x Performance tuningAdtech x Scala x Performance tuning
Adtech x Scala x Performance tuningYosuke Mizutani
 
XGBoost @ Fyber
XGBoost @ FyberXGBoost @ Fyber
XGBoost @ FyberDaniel Hen
 
Ernest: Efficient Performance Prediction for Advanced Analytics on Apache Spa...
Ernest: Efficient Performance Prediction for Advanced Analytics on Apache Spa...Ernest: Efficient Performance Prediction for Advanced Analytics on Apache Spa...
Ernest: Efficient Performance Prediction for Advanced Analytics on Apache Spa...Spark Summit
 
Automatic and Interpretable Machine Learning with H2O and LIME
Automatic and Interpretable Machine Learning with H2O and LIMEAutomatic and Interpretable Machine Learning with H2O and LIME
Automatic and Interpretable Machine Learning with H2O and LIMEJo-fai Chow
 
Supply Chain Management - Optimization technology
Supply Chain Management - Optimization technologySupply Chain Management - Optimization technology
Supply Chain Management - Optimization technologyNurhazman Abdul Aziz
 
How to easily find the optimal solution without exhaustive search using Genet...
How to easily find the optimal solution without exhaustive search using Genet...How to easily find the optimal solution without exhaustive search using Genet...
How to easily find the optimal solution without exhaustive search using Genet...Viach Kakovskyi
 
The Other HPC: High Productivity Computing
The Other HPC: High Productivity ComputingThe Other HPC: High Productivity Computing
The Other HPC: High Productivity ComputingUniversity of Washington
 
Optimization of Continuous Queries in Federated Database and Stream Processin...
Optimization of Continuous Queries in Federated Database and Stream Processin...Optimization of Continuous Queries in Federated Database and Stream Processin...
Optimization of Continuous Queries in Federated Database and Stream Processin...Zbigniew Jerzak
 
Scalable frequent itemset mining using heterogeneous computing par apriori a...
Scalable frequent itemset mining using heterogeneous computing  par apriori a...Scalable frequent itemset mining using heterogeneous computing  par apriori a...
Scalable frequent itemset mining using heterogeneous computing par apriori a...ijdpsjournal
 

Ähnlich wie Applying Linear Optimization Using GLPK (20)

Xgboost
XgboostXgboost
Xgboost
 
Informatics Practices (new) solution CBSE 2021, Compartment, improvement ex...
Informatics Practices (new) solution CBSE  2021, Compartment,  improvement ex...Informatics Practices (new) solution CBSE  2021, Compartment,  improvement ex...
Informatics Practices (new) solution CBSE 2021, Compartment, improvement ex...
 
Vcs slides on or 2014
Vcs slides on or 2014Vcs slides on or 2014
Vcs slides on or 2014
 
The Concurrent Constraint Programming Research Programmes -- Redux (part2)
The Concurrent Constraint Programming Research Programmes -- Redux (part2)The Concurrent Constraint Programming Research Programmes -- Redux (part2)
The Concurrent Constraint Programming Research Programmes -- Redux (part2)
 
ML unit-1.pptx
ML unit-1.pptxML unit-1.pptx
ML unit-1.pptx
 
Cost-Based Optimizer in Apache Spark 2.2 Ron Hu, Sameer Agarwal, Wenchen Fan ...
Cost-Based Optimizer in Apache Spark 2.2 Ron Hu, Sameer Agarwal, Wenchen Fan ...Cost-Based Optimizer in Apache Spark 2.2 Ron Hu, Sameer Agarwal, Wenchen Fan ...
Cost-Based Optimizer in Apache Spark 2.2 Ron Hu, Sameer Agarwal, Wenchen Fan ...
 
Efficient Design Exploration for Civil Aircraft Using a Kriging-Based Genetic...
Efficient Design Exploration for Civil Aircraft Using a Kriging-Based Genetic...Efficient Design Exploration for Civil Aircraft Using a Kriging-Based Genetic...
Efficient Design Exploration for Civil Aircraft Using a Kriging-Based Genetic...
 
Cost-Based Optimizer in Apache Spark 2.2
Cost-Based Optimizer in Apache Spark 2.2 Cost-Based Optimizer in Apache Spark 2.2
Cost-Based Optimizer in Apache Spark 2.2
 
modeling.ppt
modeling.pptmodeling.ppt
modeling.ppt
 
Xgboost
XgboostXgboost
Xgboost
 
Adtech scala-performance-tuning-150323223738-conversion-gate01
Adtech scala-performance-tuning-150323223738-conversion-gate01Adtech scala-performance-tuning-150323223738-conversion-gate01
Adtech scala-performance-tuning-150323223738-conversion-gate01
 
Adtech x Scala x Performance tuning
Adtech x Scala x Performance tuningAdtech x Scala x Performance tuning
Adtech x Scala x Performance tuning
 
XGBoost @ Fyber
XGBoost @ FyberXGBoost @ Fyber
XGBoost @ Fyber
 
Ernest: Efficient Performance Prediction for Advanced Analytics on Apache Spa...
Ernest: Efficient Performance Prediction for Advanced Analytics on Apache Spa...Ernest: Efficient Performance Prediction for Advanced Analytics on Apache Spa...
Ernest: Efficient Performance Prediction for Advanced Analytics on Apache Spa...
 
Automatic and Interpretable Machine Learning with H2O and LIME
Automatic and Interpretable Machine Learning with H2O and LIMEAutomatic and Interpretable Machine Learning with H2O and LIME
Automatic and Interpretable Machine Learning with H2O and LIME
 
Supply Chain Management - Optimization technology
Supply Chain Management - Optimization technologySupply Chain Management - Optimization technology
Supply Chain Management - Optimization technology
 
How to easily find the optimal solution without exhaustive search using Genet...
How to easily find the optimal solution without exhaustive search using Genet...How to easily find the optimal solution without exhaustive search using Genet...
How to easily find the optimal solution without exhaustive search using Genet...
 
The Other HPC: High Productivity Computing
The Other HPC: High Productivity ComputingThe Other HPC: High Productivity Computing
The Other HPC: High Productivity Computing
 
Optimization of Continuous Queries in Federated Database and Stream Processin...
Optimization of Continuous Queries in Federated Database and Stream Processin...Optimization of Continuous Queries in Federated Database and Stream Processin...
Optimization of Continuous Queries in Federated Database and Stream Processin...
 
Scalable frequent itemset mining using heterogeneous computing par apriori a...
Scalable frequent itemset mining using heterogeneous computing  par apriori a...Scalable frequent itemset mining using heterogeneous computing  par apriori a...
Scalable frequent itemset mining using heterogeneous computing par apriori a...
 

Kürzlich hochgeladen

Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 

Kürzlich hochgeladen (20)

Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 

Applying Linear Optimization Using GLPK

  • 1. CCISDevt Sharing Session Applying Linear Optimization Using GLPK
  • 2. Outline What is Linear Optimization? What is GLPK? Available Bindings GNU MathProg Scripting Examples: Trans-shipment (the standard example) Time Table Scheduling (from school days...) Allocating HDB Flats by “Combinatorial Auction” 2
  • 3. Linear Optimization? What? The minimization of functions of the form c1 x1 + c2 x2 + …+ cn xn by varying decision variables xi, subject to constraints of the form ai1 x1 + ai2 x2 + …+ ain xn = bi or ai1 x1 + ai2 x2 + …+ ain xn ≤ bi where the other coefficients aij, bi and ci are fixed. 3
  • 4. Linear Optimization? What? A typical example: “The Diet Problem”. By varying the intake of each type of food (e.g.: chicken rice, durian, cheese cake), minimize (The Total Cost of Food) subject to (Non-negativity of the intakes of each type.) (Satisfaction of minimum nutritional requirements) 4
  • 5. Linear Optimization? What? A secondary school example. By varying decision variables x and y, maximize 2x+y subject to x ≥ 0, x ≤ 1, y ≥ 0, y ≤ 1, x + y ≤ 1.5 5
  • 6. Linear Optimization? What? A secondary school example. By varying decision variables x and y, maximize 2x+y subject to x ≥ 0, x ≤ 1, y ≥ 0, y ≤ 1, x + y ≤ 1.5 6
  • 7. Linear Optimization? What? A secondary school example. By varying decision variables x and y, maximize 2x+y subject to x ≥ 0, x ≤ 1, y ≥ 0, y ≤ 1, x + y ≤ 1.5 7
  • 8. Linear Optimization? What? A secondary school example. By varying decision variables x and y, maximize 2x+y subject to x ≥ 0, x ≤ 1, y ≥ 0, y ≤ 1, x + y ≤ 1.5 8
  • 9. Linear Optimization? What? A more useful sounding example: “Simple Commodity Flow”. By varying the number of TV sets being transferred along each road in a road network, minimize (Total Distance each TV set is moved through) subject to (Non-negativity of the flows) (Sum of Inflows = Sum of Outflows at each junction where Stock counts as inflow & demand, outflow.) 9
  • 10. Linear Optimization? What? Perhaps one of the most widely used mathematical techniques: Network flow / multi-commodity flow problems Project Management Production Planning, etc... Used in Mixed Integer Linear Optimization for: Airplane scheduling Facility planning Timetabling, etc... 10
  • 11. Linear Optimization? What? Solution methods: Simplex-based algorithms Non-polynomial-time algorithm Performs much better in practice than predicted by theory Interior-point methods Polynomial-time algorithm Also performs better in practice than predicted by theory 11
  • 12. What is GLPK GLPK: GNU Linear Programming Kit An open-source, cross-platform software package for solving large-scale Linear Optimization and Mixed Integer Linear Optimization problems. Comes bundled with the GNU MathProg scripting language for rapid development. URL: http://www.gnu.org/software/glpk/ GUSEK (a useful front-end): http://gusek.sourceforge.net/gusek.html 12
  • 13. Bindings for GLPK GLPK bindings exist for: C, C++ (with distribution) Java (with distribution) C# Python, Ruby, Erlang MATLAB, R … even Lisp. (And probably many more.) 13
  • 14. Scripting with GNU MathProg For expressing optimization problems in a compact, human readable format. Used to generate problems for computer solution. Usable in production as problem generation is typically a small fraction of solution time and problem generation (in C/C++/Java/etc) via the API takes about as long. Hence, “rapid development” as opposed to “rapid prototyping”. 14
  • 15. Scripting with GNU MathProg Parts of a script: Model: Description of objective function and constraints to be satisfied Data: Parameters that go into the model Data can be acquired from a database (e.g. via ODBC). Post processed solution can be written to a database. 15
  • 16. Scripting with GNU MathProg Model File (For choosing a meet-up date) set Peoples; set Days; set Meals; ... # PrefInd[...] defined here var x{d in Days, m in Meals} binary; maximize Participation_and_Preference: sum{p in Peoples, d in Days, m in Meals} PrefInd[p,d,m]*x[d,m]; s.t. one_meal: sum{d in Days, m in Meals} x[d,m] = 1; solve; ... # Post-processing here end; 16
  • 17. Scripting with GNU MathProg Data File (for the above model) data; set Peoples := JC LZY FYN MJ; set Days := Mon Tue Wed Thu Fri Sat Sun; set Meals := Lunch Dinner; # Last element is 1 if preferred, 0 if otherwise set Prefs := (JC, Mon, Dinner, 1), (JC, Tue, Dinner, 0), ... # Rest of preference data ; end; 17
  • 18. Scripting with GNU MathProg Good “student” practice: Decouple model from data (separate files) Write script to generate data file from sources Reasonable production practice Decouple model from data Acquire data from and write output to database Abuse: Read statements can be used to write to the database (e.g.: a “currently working” flag) 18
  • 19. Examples Trans-shipment (the standard example) A source to destination network flow problem Data: Quantity at source, Demand at destination Time Table Scheduling (from school days...) Respect requirements, Maximize preference Support alternate “sessions” and multiple time slots A “Combinatorial Auction” for HDB Flat Allocation Allocation and pricing of HDB flats Efficiently solvable (Surprise!) 19
  • 20. Example: Trans-shipment Model File set I; /* canning plants */ param a{i in I}; /* capacity of plant i */ set J; /* markets */ param b{j in J}; /* demand at market j */ param d{i in I, j in J}; /* distance in thousands of miles */ param f; /* freight in dollars per case per thousand miles */ param c{i in I, j in J} := f * d[i,j] / 1000; /* transport cost */ var x{i in I, j in J} >= 0; /* shipment quantities in cases */ minimize cost: sum{i in I, j in J} c[i,j] * x[i,j]; /* total costs */ s.t. supply{i in I}: sum{j in J} x[i,j] <= a[i];/* supply limits */ s.t. demand{j in J}: sum{i in I} x[i,j] >= b[j];/* satisfy demand */ solve; # < Post-processing code > end; 20
  • 21. Example: Trans-shipment Data File data; set I := Seattle San-Diego; param a := Seattle 350 San-Diego 600; set J := New-York Chicago Topeka; param b := New-York 325 Chicago 300 Topeka 275; param d : New-York Chicago Topeka := Seattle 2.5 1.7 1.8 San-Diego 2.5 1.8 1.4 ; param f := 90; end; 21
  • 22. Example: Trans-shipment Sample Output GLPK Simplex Optimizer, v4.47 6 rows, 6 columns, 18 non-zeros ... OPTIMAL SOLUTION FOUND ************************************************ ***POST SOLVE (Post-processed Output) ************************************************ Flow[ Seattle -> New-York ] = 50.000000 Flow[ Seattle -> Chicago ] = 300.000000 Flow[ Seattle -> Topeka ] = 0.000000 Flow[ San-Diego -> New-York ] = 275.000000 Flow[ San-Diego -> Chicago ] = 0.000000 Flow[ San-Diego -> Topeka ] = 275.000000 22
  • 23. Example: Trans-shipment Using ODBC as a Data Source table tbl_plants IN 'ODBC' 'dsn=demo_tpt' 'plants' : I <- [name], a~capacity; table tbl_markets IN 'ODBC' 'dsn=demo_tpt' 'markets' : J <- [name], b~demand; table tbl_freight IN 'ODBC' 'dsn=demo_tpt' 'freight' : [plant,market], d~cost; Sending Output to a Database (via ODBC) table result{i in I, j in J: x[i,j]} OUT 'ODBC' 'dsn=demo_tpt' 'UPDATE freight SET flow=? WHERE (plant=?) and (market=?)' : x[i,j], i, j; 23
  • 24. Example: Time Tabling Objective: Maximize “preference points” Constraints: Pick exactly one appointment from appointment groups marked compulsory Pick at most one appointment any appointment group No timing clash between appointments 24
  • 25. Example: Time Tabling Sample (Post-Processed) Output Selected Appointment Groups: SMA_IS4241C_ FM_BMA5008_ ... Selected Appointments: SMA_IS4241: Fri 1400 - 1730 FM_BMA5008_B: Mon 1800 – 2130 ... Mon: 1000 - 1230: APT_ST5214 1800 - 2130: FM_BMA5008_B ... 25
  • 26. Example: A “Combinatorial” Auction for HDB Flat Allocation Objective: Maximize “Allocative Efficiency” (via bids) Constraints: All flats allocated (Balance allocated to “HDB”) At most one flat per “actual applicant” Allocation limits for applicant categories (Second-timers, Racial Quotas according to Ethnic Integration Policy) Modified data used to price allocated flats (allocated bidder excluded; VCG Mechanism: optimal objective function value compared with that of full problem). 26
  • 27. Example: A “Combinatorial” Auction for HDB Flat Allocation Sample Output (Synthetic Data) ... Solution by Bidder: Bidder 1 (2 bids): 1 x C_8 Bidder 2 (1 bids): ... ... Bidders in group [SecondTimers, EIP_Limit_Chinese] allocated C_8 at price 88 (reserve price: 53, % of reserve price: 166.0%) Bidders in group [EIP_Limit_Malay] allocated C_3 at price 218 (reserve price: 180, % of reserve price: 121.1%) ... Bidder 1 allocated C_8 at price 88 [SecondTimers, EIP_Limit_Chinese] (bid: 95, reserve price: 53, savings: 7, possible savings: 42, % savings: 16.67%) Bidder 6 allocated C_3 at price 218 [EIP_Limit_Malay] (bid: 319, reserve price: 180, savings: 101, possible savings: 139, % savings: 72.66%) 27
  • 28. Thanks Everybody, Thanks. 28