Step by step example where Decision Optimization helps to optimally position articles on shelves, e.g. in a retail store.

The problem

How do retail stores are placing the different items on their shelves? This is a very important topic for the retailers, included in broader Visual Merchandising, and which has long been based on the use of planograms. Apart from the physical constraints within the shelves. Some providers constraint the retailer to place their items in given positions, knowing that it has an impact on sales. Different competitors may not want to be too near or too far from others. Positions in…


Using connection assets created in your deployment space, it is now much easier to connect your deployed optimization model to a wide range of data sources.

Note that this new behaviour includes (among others) connectivity to Cloud Object Storage and Databases, and might in the mid term replace the old syntax, which might be deprecated and removed as it required the inclusion of credentials in the request payload.

Inline and referenced data

Optimization models deployed in Cloud Pak for Data (CP4D) require input data to be solved. This data is provided when a new deployment job is created. …


This posts describes the few required steps to get a working project created from the gallery sample.

The Network Design example, used in one of my previous posts, is now available directly in the Cloud Pak for Data as a Service Gallery : https://dataplatform.cloud.ibm.com/exchange/public/entry/view/14ea8dfab582137c695a6630e91a3485.

Network Design sample in Gallery

From there, just click on “Create Project”. Then give a name to the new project, and select a Cloud Object Storage service to store the project and a Watson Machine Learning service to run the models from the Decision Optimization experiments.


The Decision Optimization Python Client for Cloud Pak for Data has now been officially released under a new name on PyPI.

The package described in this post had been made available before under the name of dd-scenario. This new package replaces that old one.

Why a Client?

This Python client makes it easy to work with Decision Optimization Experiments in Cloud Pak for Data (CP4D)

The available functionality of the client includes, for example, the ability to access an experiment, and, starting from an existing scenario, create one or several copies where some of the input data or model formulation can be modified…


Some introduction to the concept of warm start in Decision Optimization (DO) and some overview of the available syntax and APIs.

Introduction and concepts

Problems and hints

What would you do when you take too much time to find the best solution to a given problem? You ask for an hint. What type of hints might help you? That can be a valid but not optimal solution, i.e. a proposed value for all decisions to take, but which overall objective value is “not so good”. Yet it can help you find a better one faster. It can also be a partial solution, e.g. values for some…


Introduction to multi objective concepts and methods. Some hints to start modeling and solving multi objective problems with Decision Optimization.

I will start explaining why multi objective situations happen so frequently, and then provide some examples on how to model the different main cases using the most frequently used modeling languages, Python docplex and OPL.

Some introduction

Let’s first talk about objectives. With Decision Optimization, a model is formulated to solve a problem.

In this model are defined:

  1. the decision variables, for which the algorithm should prescribe values,
  2. the constraints, representing combinations of variable values which are forbidden, i.e. …

Taking full advantage of Decision Optimization in Watson Studio and Watson Machine Learning with OPL requires the use of CSV input files. This post provides some hints about it.

As part of the integration of Decision Optimization into Watson Studio, focus has been put on homogenizing around data science practices. The recommended modeling language is Python using the docplex package. This can be done both using notebooks or the dedicated model builder (now called Decision Optimization experiment).

Still, many Operation Research practitioners prefer to use a dedicated language for optimization modeling, such as OPL (Optimization Programming). So it has been…


This post introduces yet another business application example for Decision Optimization, and provides all assets and models needed to reproduce it on Cloud Pak for Data.

The problem.

The considered problem is Portfolio Rebalancing. A portfolio consists of a set of owned assets, each one with a price and a quantity. Some cash may also be available. In this example, different types of assets are considered using different currencies and hence exchange rates will have to be managed.

The different assets correspond to different companies. They might be quoted according to different currencies, and have different recommendation notes from analysts.

Assets used in the example

The objective…


A new command line client has been released to control Cloud Pak for Data and of course, you can use it to manage your Decision Optimization (DO) models and jobs. This post provides some starting points.

I previously talked about using DO through REST APIs and Python client. We also contributed some code to ease the development of Java and C# code that would use the REST APIs. Now a command line client cpdctl has been released to control Cloud Pak for Data instances. It works with on premise Cloud Pak for Data (versions 3.0.1 and 3.5), which you can…


This post describes with quite some detail how to develop and test Decision Optimization models in Cloud Pak for Data to solve the Staff Planning problems that arise in structures like Call Centers.

The business problem

The problem covered in this post is about Call Centers, but it can be easily generalized to many other cases where some resources have to be scheduled according to some predefined shifts in order to cover some demand curve (for example retail store employees, security officers in airports ….)

In call centers, a schedule has to be built for the people who answer the calls. Each working…

AlainChabrier

Decision Optimization Senior Technical Staff Member at IBM Alain.chabrier@ibm.com @AlainChabrier https://www.linkedin.com/in/alain-chabrier-5430656/

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store