Skip to Main Content
IBM Data and AI Ideas Portal for Customers

This portal is to open public enhancement requests against products and services offered by the IBM Data & AI organization. To view all of your ideas submitted to IBM, create and manage groups of Ideas, or create an idea explicitly set to be either visible by all (public) or visible only to you and IBM (private), use the IBM Unified Ideas Portal (

Shape the future of IBM!

We invite you to shape the future of IBM, including product roadmaps, by submitting ideas that matter to you the most. Here's how it works:

Search existing ideas

Start by searching and reviewing ideas and requests to enhance a product or service. Take a look at ideas others have posted, and add a comment, vote, or subscribe to updates on them if they matter to you. If you can't find what you are looking for,

Post your ideas

Post ideas and requests to enhance a product or service. Take a look at ideas others have posted and upvote them if they matter to you,

  1. Post an idea

  2. Upvote ideas that matter most to you

  3. Get feedback from the IBM team to refine your idea

Specific links you will want to bookmark for future use

Welcome to the IBM Ideas Portal ( - Use this site to find out additional information and details about the IBM Ideas process and statuses.

IBM Unified Ideas Portal ( - Use this site to view all of your ideas, create new ideas for any IBM product, or search for ideas across all of IBM. - Use this email to suggest enhancements to the Ideas process or request help from IBM for submitting your Ideas.

IBM Data & AI Roadmaps ( - Use this site to view roadmaps for Data & AI products.

IBM Employees should enter Ideas at

Status Not under consideration
Created by Guest
Created on Oct 23, 2020

Improve constraint priority attachment in OPL

Actually we have to use OPL script to attach a relaxation priority to a constraint. It will be easier to attach this priority at the creation of the constraint. Reason is that a constraint tupleset can easily include a priority field:

tuple rvConstraint{
key int Ctn;
float Value;
int Priority;
setof(rvConstraint) relProMin = ...;

If I attach the priority at the generation, code would look like this:

forall ( ctn in relProMin )
ctProMin [ctn]:
varPro[< ctn.Ctn >] <= ctn.Valeur : Priority<-ctn.Priority;

Actually we have to create the constraint in OPL:

forall ( ctn in relProMin )
ctProMin [ctn]:
varPro[< ctn.Ctn >] <= ctn.Valeur

Then we attach a priority using OPL script:

var relProMin=OPDSubModel.relPROmin;
for (ctn in relProMin)

This may seem easy in OPL Script but when I try to do that with the .NET Interface, it's almost impossible due to the difficulty to manipulate dataElement in .NET. Note also that the feasopt call with the interface is not obvious in OPL script but it is worst with the .NET interface. Maybe a major revamp need to be done to this functionality interface in .NET.