Mathematical Optimization

The MLRG group in Oracle Labs builds general tools to solve both classic and emerging optimization problems and provides consulting to develop specific optimizations solutions for Oracle customers

Project Details

Mathematical Optimization

Mathematical Optimization

The MLRG group in Oracle Labs builds general tools to solve both classic and emerging optimization problems and provides consulting to develop specific optimizations solutions for Oracle customers

Project Overview

Classic mathematical optimization is used to solve business problems such as supplier selection, demand fulfillment, discount offerings, store layout, vehicle routing, and many more. The Modeling, Simulation, and Optimization group in Oracle Labs builds general tools to solve both classic and emerging optimization problems and provides consulting to develop specific optimization solutions for Oracle customers and inclusion in Oracle products.  

Mathematical Optimization Tools

There are many open source solvers such as LPSolve for linear, integer, and convex programming. Oracle’s retail group needed a general solver for retail applications where the decision variables are often items with a limited number of choices or prices with a limited selection of values, but the objective function can be highly non-linear due to complex econometrics such as price elasticity. Our insight was a search technique we call Randomized Decomposition (RD) that randomly decomposes the decision variables into subsets and optimize each of these sub-problems in random order, with the decision variables outside a sub-problem held constant. We have created a solver called RDSolver that is based on RD and is shipping for vehicle routing by Oracle Spatial and Graph and is being used by the CEGBU for project portfolio optimization.

The RD technique has also served us well for solving the huge non-convex problems in emerging applications such as deep neural nets. For example, a network layer with 100K neurons and 5 parameters each is an optimization problem with 500K variables. The latest approach for solving large optimizations is Alternating Direction Method of Multipliers (ADMM) that breaks large problems into smaller ones, solves the smaller ones, and combines the solutions. We found that we could significantly improve on both the performance and solution quality of ADMM by using our RD approach to create and solve sub-problems. Besides deep neural nets, this approach has applications in other emerging areas such as federated learning and differential privacy.

Consulting on Specific Optimization Solutions

Many real-world problem solutions require a combination of machine learning and mathematical optimization. We specialize in internal consulting to provide these solutions. Examples include:

  • Hotel room assignment for HGBU: optimal room assignment at check-in based on hotel occupancy and preferences and guest profiles. Uses a Multinomial Logit Model (MNL) with Markov Chain Monte Carlo (MCMC) for parameter estimation and inclusion of no purchase option.
  • Offer optimization for HGBU: optimal selection, ordering, and pricing of hotel rooms based on reservation characteristics and personalization. Uses soft clustering to estimate probabilities of guests being (e.g.) business vs. leisure and MNL with correction for price endogeneity
  • Upselling optimization for Nor1: selection and pricing for upgrades and add-ons after booking. Selection based on personalization and feature selection for ML models. Pricing based on joint optimization of assignment and pricing variables.
  • Demand modeling for RGBU
  • Netsuite supply allocation: maximize revenue or fill rate (number of satisfied demands) subject to constraints such as using only a single warehouse to fill a demand. Created heuristics because LP solvers are too slow for large problems.

Publications