Decision Optimization
Turn “what happened?” into “what should I do?” with Decision Optimization
The Decision Optimization technology allows companies to solve complex challenges instead of human subjective decision-making that can reduce productivity and increase costs in the long run. Today, this technology is running at some of the largest companies, solving the most complex challenges, and creating a real-time analytics engine with integrated communications, audit capabilities, and workflows that foster responsibility and accountability. Decision Optimization does not discriminate when it comes to different industries. There are many optimization use cases for finance, energy, healthcare, distribution, industrial, and so on. For example, optimizing resource planning (human, material, and financial) and automating business operations can increase process efficiency, reduce operating costs, maximize operating margins, and improve service levels. Advanced analytics predicts the volume of visits the store will have at any given time and adjusts the schedules and tasks of each employee with the visits of customers. Having the right employee at the right time and place to assist customers can increase the conversion rate. What’s stopping you from integrating optimization into your company and saving big? To find out how you can take advantage of optimization technologies such as CPLEX, Gurobi, and FICO technology, connect with our experts today!
To learn more read Decision Intelligence FAQs!
Simplify Decisions
Use enterprise-level optimization solvers like CPLEX, Gurobi, and FICO Xpress to deliver timely and powerful decision support. These optimization solvers are designed to excel at computing the optimal decisions related to a large number of interrelated activities and processes.










Planning & Scheduling
Dynamic scheduling engines solve very large scheduling problems with multiple constraints. These systems can analyze real-time data, considering a huge number of parameters, tasks, SLAs, and the relative value of each.
Self-Serve Optimization
Cresco can deliver an easy-to-use, self-service decision environment for your organization. Our solution harnesses the power of optimization-based decision support without the maintenance requirements of traditional, on-premise tools.





High Performance
Cresco uses optimizers that provide flexible, high-performance mathematical programming solvers for linear, mixed integer, quadratic and quadratically constrained programming problems. These solvers work well with extremely large datasets.

Decision Optimization (aka mathematical optimization techniques) has been around for quite some time and provides value for strategic to operational business problems. With the advancement and growth in the adoption of Data and AI, availability of data, and faith in data science, the use of decision optimization has been gaining even more traction to operationalize the insights uncovered from predictive models. We work with your organization to develop a custom decision optimization solution that works for your goals, infrastructure, and skill set. Let’s explore how decision optimization can work for you. Contact us today!
Our Business Partners in Decision Optimization
Need Technical Support for Decision Optimization?
Save money on full-time resources by choosing a support package that fits your usage pattern! Our support service is a monthly chunk of hours that you can leverage for one or more resources, working full-time or part-time, to ensure you have someone to call upon when you need them. With us, you’ll receive:
A certified consultant that is up to date with the latest and greatest product features, use cases, and best practices.
Guaranteed global support coverage when you need it, 24/7 for 365 days a year.
Speedy resolution times (as fast as 1 hour!).

Decision Optimization Operations Support
Proactive maintenance that can optimize costs and ensure reliability.

Configuration & Setup
Assistance configuring and tuning for peak utility and performance.

Client Success
A client success manager who can help with escalation, strategy, and other Cresco services.

User Support
Direct support of your users and the devices they use to access services.

Decision Optimization Advisory
Value-added services that help maximize your software investments.

Flexibility
Flexible solutions that grow when you do, even during peak season.
Compare Commercial Optimization Solvers
Feature | CPLEX | Gurobi | Xpress |
---|---|---|---|
Parent Company | IBM | Gurobi Optimization | FICO |
License | Commercial | Commercial | Commercial |
Supported Platforms | Windows, Linux, macOS | Windows, Linux, macOS | Windows, Linux |
Problem Types Supported | Linear Programming, Integer Programming, Quadratic Programming, Mixed-Integer LP/QP, Nonlinear Programming | Linear Programming, Integer Programming, Quadratic Programming, Mixed-Integer LP/QP, Nonlinear Programming | Linear Programming, Integer Programming, Quadratic Programming, Mixed-Integer LP/QP, Nonlinear Programming |
Convex Quadratic Constraints | Supported | Supported | Supported |
Programming Languages Supported | C, C++, Java, .Net, Python | C, C++, Java, .Net, Python, MATLAB, R | Java, .Net, Python, R |
Solving Algorithms | Primal-Dual, Barrier, Simplex, Branch-and-Bound, Cut Generation | Primal-Dual, Barrier, Simplex, Branch-and-Bound, Cut Generation | Primal-Dual, Barrier, Simplex, Branch-and-Bound, Cut Generation |
Warm Start Capabilities | Supported | Supported | Supported |
Heuristics | Supported | Supported | Supported |
Parallel Processing | Supported | Supported | Supported |
Large-Scale Optimization | Supported | Supported | Supported |
Distributed Computing | Supported | Supported | Supported |
Community Support | Active | Active | Active |
IDE | CPLEX Optimization Studio | None | Xpress Workbench |
Modeling Language | OPL | None | Mosel |
Robustness | Strong | Strong | Strong |
Academic Licensing | Available | Available | Available |
Processor Value Units (PVUs)
A Processor Value Unit (PVU) is a unit of measure by which the Program can be licensed. The number of PVU entitlements required is based on the processor technology (defined within the PVU Tables below by Processor Vendor, Brand, Type and Model Number) and by the number of processors made available to the Program. IBM defines a processor, for the purpose of PVU-based licensing, to be each processor core on a chip (socket). A dual-core processor chip, for example, has two processor cores. The tables below list existing generally available processor technologies only, as of the published date. PVU requirements for future processor technologies may differ.
PVU Table per Core (RISC and System z)
Processor Vendor | Processor Name | Server model numbers | Maximum number of sockets per server | Proc. Model Number | PVUs per Core |
---|---|---|---|---|---|
IBM | POWER IFL, Any POWER system core running Linux | All | All | All | 70 |
IBM | POWER10 | E1080 | >4 | All | 120 |
IBM | POWER10 | E1050 | All | All | 100 |
IBM | POWER10 | S1022, L1022, S1022s, S1014, S1024, L1024 | All | All | 70 |
IBM | POWER9 | E980 | >4 | All | 120 |
IBM | POWER9 | E950 | 4 | All | 100 |
IBM | POWER9 | H922, H924, S914, S922, S924 | 2 | All | 70 |
IBM | POWER8 | 870, 880 | > 4 | All | 120 |
IBM | POWER8 | E850 | 4 | All | 100 |
IBM | POWER8 | S812, S814, S822, S824 | 2 | All | 70 |
IBM | POWER7 (*4) | 770, 780, 795 | > 4 | All | 120 |
IBM | POWER7 | 750, 755, 760, 775, PS704, p460, Power ESE | 4 | All | 100 |
IBM | POWER7 | PS700-703, 710-740, p260, p270 | 2 | All | 70 |
IBM | POWER6 | 550, 560, 570, 575, 595 | All | All | 120 |
IBM | POWER6 | 520, JS12, JS22, JS23, JS43 | All | All | 80 |
IBM | POWER5, POWER4 | All | All | All | 100 |
IBM | POWER5 QCM | All | All | All | 50 |
IBM | z16, z15 Model T01, LinuxOne III LT1, z14, Models M01-M05 and L01-L05, Emperor, Emperor II, z13, zEC12, z196, System z10 (*1,5) | All | All | All | 120 |
IBM | z16 A02, z15 Model T02, LinuxOne III LT2, z14 Model ZR1 / LR1, z13s, Rockhopper, Rockhopper II, zBC12, z114, System z9, z990, S/390 (*1,2,6) | All | All | All | 100 |
IBM | PowerPC 970 | All | All | All | 50 |
IBM | PowerXCell, Cell/B.E. 8i (*3) | All | All | All | 30 |
Any | All others | All | All | All | 100 |
Processor Technologies | |||||
Processor Brand | |||||
Processor Vendor | Processor Name | Server model numbers | Maximum number of sockets per server | Proc. model numbers | PVUs per core |
HP/Intel® | Itanium® | All | All | All | 100 |
HP/Intel® | PA-RISC | All | All | All | 100 |
Oracle / Sun / Fujitsu | SPARC64 VI, VII, X, X+. XII | All | All | All | 100 |
Oracle / Sun / Fujitsu | UltraSPARC IV | All | All | All | 100 |
Oracle / Sun / Fujitsu | SPARC M5 / M6 | All | All | All | 120 |
Oracle / Sun / Fujitsu | SPARC M7 | T7-4 | 4 | All | 100 |
Oracle / Sun / Fujitsu | SPARC T4/T5/M7/S7/M8 | T5-8, M7-8, M7-16, M8-8 | >4 | All | 120 |
Oracle / Sun / Fujitsu | SPARC T4/T5/M7/S7/M8 | T4-4, T5-4, T7-4, T8-4 | 4 | All | 100 |
Oracle / Sun / Fujitsu | SPARC T4/T5/M7/S7/M8 | T4-1, T4-1B, T4-2, T5-1B, T5-2, T7-1, T7-2, S7-2, S7-2L, T8-1, T8-2 | 2 | All | 70 |
Oracle / Sun / Fujitsu | SPARC T3 | All | All | All | 70 |
Oracle / Sun / Fujitsu | UltraSPARC T2 | All | All | All | 50 |
Oracle / Sun / Fujitsu | UltraSPARC T1 | All | All | All | 30 |
Any | All others | All | All | All | 100 |
Notes:
- Each Integrated Facility for Linux (IFL) or Central Processor (CP) engine is equivalent to 1 core.
- Refers to System z9, eServer zSeries, or System/390 servers.
- Entitlements required for Power Processor Element (PPE) cores only.
- The PVU requirement for the POWER7/7+ processor technology is dependent on the maximum possible number of sockets on the server. NOTE: Power 7 Refers to Power 7/7+ 5
- z196 refers to IBM zEnterprise 196, zEC12 refers to IBM zEnterprise EC12.
- z114 refers to IBM zEnterprise 114.
- Cell Broadband Engine is a trademark of Sony Computer Entertainment, Inc. in the United States, other countries, or both and is used under license therefrom.
- Intel, Intel logo, Intel Inside, Intel Inside logo, Intel Centrino, Intel Centrino logo, Celeron, Intel Xeon, Intel SpeedStep, Itanium, and Pentium are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries.
PVU Table per Core (x86)
Processor Vendor | Processor Name | Proc. Model Number (1) | Maximum Sockets Per Server | PVUs Per Core |
---|---|---|---|---|
Intel® | Xeon® (2) | All post-Nehalem (launched 11/2008) Xeon Processor Models including Xeon Scalable (Platinum, Gold, Silver, Bronze) | 2 | 70 |
Intel® | Xeon® (2) | All post-Nehalem (launched 11/2008) Xeon Processor Models including Xeon Scalable (Platinum, Gold, Silver, Bronze) | 4 | 100 |
Intel® | Xeon® (2) | All post-Nehalem (launched 11/2008) Xeon Processor Models including Xeon Scalable (Platinum, Gold, Silver, Bronze) | >4 | 120 |
Intel® | Xeon® | All pre-Nehalem Xeon Processor Models 3000 to 3399, 5000 to 5499, 7000 to 7499 | All | 50 |
Intel® | Core® (3) | All i3, i5, i7,i9 | All | 70 |
AMD | Opteron | All | All | 50 |
AMD | EPYC | All | All | 70 |
Any | All others | All | All | 100 |
Notes:
- IBM offers Software for both Intel and AMD processors. Intel refers to its processors by “Processor Number” and AMD by “Model Number”. The processor model can be preceded by a letter. For example, ‘x5365 refers to ‘5365’, which is included in the table within the ‘5000 to 5499’ range.
- The PVU requirement for the Intel processor technology indicated is dependent on the maximum number of sockets on the server. If sockets on two or more servers are connected to form a Symmetric Multiprocessing (SMP) Server, the maximum number of sockets per server increases. See single server examples and two or more servers example below.
Single server examples:- 2 socket server with 6 cores per socket requires 840 PVUs (70 per core x 12 cores )4 socket server with 6 cores per socket requires 2400 PVUs ( 100 per core x 24 cores )
- 8 socket server with 6 cores per socket requires 5760 PVUs ( 120 per core x 48 cores)
Two or more servers with connected sockets example: - When sockets on a 2 socket server with 6 cores per socket are connected to sockets on another 2 socket server with 6 cores per socket, this becomes an SMP server with a maximum of 4 sockets per server and 24 cores, and requires 2400 PVUs (100 per core x 24 cores).
- The newest generation of Intel Core processors is not covered by this entry, therefore, excludes processors that use Intel Performance Hybrid Architecture containing two different core types
CPLEX Frequently Asked Questions
The IBM® ILOG® CPLEX® Optimization Studio subscription allows only development use. There are unlimited variables and constraints, and support is included for as long as the subscription is active.
Yes, we offer IBM ILOG CPLEX Optimization no-cost edition. The no-cost edition is restricted to problems up to 1,000 variables and 1,000 constraints. A time-limited trial without restrictions on problem size is available upon request by contacting an IBM sales representative.
Beyond the commercial version, IBM runs the IBM Academic Initiative where students and faculty members have access to the product at no cost. Our academic entry is without functional or model size limitations, and you must register to check your eligibility. If the program accepts you, then you will get an email notification with download instructions.
Gurobi Frequently Asked Questions
New customers regularly tell us that migrating was easier than they expected, and that they are happy they made the switch to Gurobi.
Gurobi is a special kind of software called a “solver.” But Gurobi doesn’t have a graphical interface the way your familiar consumer apps do. You interface with it through programming languages like Python, AIMMS, and R—so you have to know how to code. And you need to know how to create a mathematical model.
Don’t have those skills in-house? We have a network of trusted service partners who are ready to help.
And at any point along the way, the Gurobi Expert team is here to help with troubleshooting and tuning your mathematical models. We also offer customized training for groups that need help with modeling techniques, model tuning, etc.
Machine learning looks for patterns in historical data and uses those patterns to make predictions about the future. But what happens when your future no longer looks like your past?
With Gurobi, you can make decisions that don’t rely on your past data. You input what you want to achieve, and Gurobi identifies your best set of decisions. And if something changes along the way, no problem! Just adjust your inputs and run it through Gurobi again.
You’ll also need to know how to create a mathematical model. People who know how to code (like data scientists, for example) can pretty easily pick up this skill. Check out our examplecode and basic training to get started.
Other decision models—like decision rules or heuristics—can result in sub-optimal decisions because they explore only a tiny percentage of possible solutions. Gurobi, by contrast, can provide provable optimality. And for a business, the difference between “sub-optimal” and “optimal” decisions can be millions in revenue.
Gurobi is a complex product, and some components and settings require expert knowledge. Whether you are migrating from a different solution or starting a project from scratch, we are happy to answer your “how to” questions and point you to the right resources.
Common customer requests:
- How do I introduce multiple objectives to my optimization model?
- I need to incorporate a complex business rule into our existing model. Can you recommend a way to model this or point me in the right direction?
- I want to migrate my solution to Gurobi Instant Cloud. Can you help me extend my existing implementation?
Gurobi is preconfigured with settings that generally work well across a broad set of models. However, it is likely that for a specific set of models, we can find specialized settings that perform even better. We search for such settings by combining our deep understanding of the solver with the power of a large computing cluster.
Common customer requests:
- We need to solve an optimization problem every 5 minutes. What settings should we use to consistently find the best possible solutions in this timeframe?
- Can you help us reduce the time it takes to find high-quality solutions for our model instances?
- Is distributed optimization the right choice for our use case?
- We are using a variety of custom parameter settings that improved performance when using previous versions of Gurobi. Are these settings still beneficial for the latest version of Gurobi?
Using software libraries the right way can make a significant impact. We can help you use our APIs efficiently, thereby reducing the time required to construct and interact with the model.
Common customer requests:
- Our model-building phase is far more time-consuming than the actual optimization process. Can you help us improve our Python implementation?
- We have migrated our model to use Gurobi’s native API. Can you help us review our implementation?
- Could you review this code snippet and let us know if we are calling these functions properly?
Modern applications leverage the power of scalable virtualized environments—but not all of these environments fit or scale well for optimization applications.
Whether you are building a new optimization application or updating an existing application, we can recommend architecture deployments that satisfy your technical needs. We make sure you are comfortable with any migration processes involved, and we can assist during upgrades to reduce the risk of service interruptions.
Common customer requests:
- Can you please help us set up our Compute Servers in a high- availability deployment?
- We are upgrading our current architecture to use microservices. Considering our models and business case, should we run our optimization processes directly on worker nodes or offload the computation to dedicated servers in the same cluster?
- Considering our benchmark results and projected production optimization usage, what would you recommend for our on-premises architecture?
As you develop your optimization application, you may encounter questions like why the solver behaves in a certain way or how a change to the model leads to a particular outcome. We can help you understand exactly what is happening.
Common customer requests:
- The numeric statistics of my model seem reasonable. Why does the solve time vary significantly after the data changes slightly?
- I doubled the number of cores used to solve my models. Why don’t I see significant speed improvements? What is more important for my model: a faster clock speed or more cores?
- Can you help me understand what’s happening in the log file?
- Why does Gurobi display warnings, and what can I do about it?
After successfully tuning your models to achieve the best performance on your hardware, you may want to assess if further solution time reductions are possible. You are considering different ideas, such as reformulating your model, exploiting the knowledge of your problem, etc. We can help you by engaging in technical discussions based on your ideas and use case. Our goal is to make your implementation efforts more effective and get the most out of the solver.
Common customer requests:
- We are not happy with the overall performance of our current implementation. Can you help us explore a decomposition approach for which we can leverage Gurobi’s performance on the resulting subproblems?
- We have observed that for some of our model instances, feasible solutions are found quickly, but it is taking considerable time to prove optimality. Do you see any obvious improvements we can make to our formulation?
- We have gained insight into our problem instances and would like to refine our solution strategy to reduce our solve times. Can you help review our callback implementation to incorporate custom cuts to the solution process and define a more advanced termination criterion?
FICO Frequently Asked Questions
For the past sixty years, FICO has established itself as a leader in decision analytics. More recently, FICO has developed the leading decision platform for AI and ML development. The FICO Developer Experience builds on the strengths of FICO analytics, advocating for developers, providing enhanced features, open APIs, and information and resources to help you work more efficiently.
Building on the FICO Platform enables you to design and deploy decisioning applications quickly, accelerating the time it takes from product concept to realizing the application’s value.
The cloud capabilities and architecture of FICO Platform, including its use of containers, microservices, APIs, and related technologies can be referenced in the following white paper titled: FICO Platform Reference Architecture. We also provide best practices for microservices and go into more technical detail about the standardized analytic and execution services underpinning the platform. Finally, we cover our comprehensive approach to security and cloud-managed services.
Improved Productivity: These individual services are small, autonomous, and self-contained. Breaking an application down into discrete parts makes it easier to build and maintain. They communicate with other services using well-defined, standardized APIs. This allows different microservices to communicate even when they use different technologies or programming languages.
Better Resiliency: A microservices architecture is distributed and loosely coupled, meaning that a failure in one service won’t take down other services. Individual services can be scaled to meet a surge in demand rather than needing to scale the whole application. This requires that a microservices architecture provide auditability and traceability so applications can be packaged, deployed, and scaled in a consistent manner.
Increased Scalability: Microservices liberate applications and business processes from the complex dependencies of monolithic architectures. Traditional monolithic architectures run as an aggregate service, so a single failure at one point can bring down a whole application, and the entire system must be scaled to meet a surge in demand for one of its components. It also means applications become increasingly problematic as the code base grows, stifling innovation, consuming IT infrastructure, and complicating upgrades.
A microservice architecture allows software to be developed for a specific business process or service, so companies can build applications that are fully aligned with their business needs with the agility to respond to market changes with unprecedented speed.
A container is a package that includes an application or service, its configuration, and all its dependencies, such as code, system tools, libraries, settings, runtime, and anything else required to execute the program. A container allows an application to be decoupled from the environment in which it runs, making it easily and consistently deployable across environments.
FICO Platform Core offers open application programming interfaces (APIs) that allow other software vendors and customers to extend the platform with complementary capabilities or connect it to other enterprise systems such as CRM or ERP. Fundamentally, FICO Platform Core utilizes Kubernetes. Kubernetes is an open-source container orchestration system for automating application deployment, scaling, and management. Kubernetes enables FICO Platform, the FICO solution for developing analytically powered, decision automation solutions, to support seamless and cost-effective deployment on public and private clouds as well as across hybrid cloud deployments.
Certain solutions available through the FICO Platform are enterprise solutions intended for multiple users within a given organization. When subscribing to a multi-user solution, the subscriber’s application administrator will have rights to add (or remove) users and define roles within the limits of the subscription. Other FICO Platform solutions are single-user applications, with each user assigned to an individual subscription.
To use FICO Platform, in most instances, you will not need to install any software. In general, all the functionality and capabilities of FICO Platform will be supported as a cloud-based, software-as-a-service (SaaS) solution. Some specialized applications provide specific functionality which will require the installation of local components. Please reach out on the FICO Community with any questions.
FICO Platform is currently provided in English (only). Certain applications and tools available through FICO Platform are available in other languages. For details about our cloud offerings, see the product descriptions available via the DECISION MANAGEMENT SUITE section of FICO Platform. If you would like more information about language options for any specific solution, please contact us.
For product support or technical help with FICO Platform, please contact Support. You must log in to your FICO Platform account to access the “Request Support” link from the portal. For questions regarding pricing, product info, or to be contacted by a FICO sales representative, please contact us. To submit a general FICO Platform portal support question without logging into the portal, submit the Contact Us form with the “FICO Platform Support” nature of inquiry checkbox selected. A FICO support representative will follow up shortly.
FICO offers technical support and services ranging from self-help tools to direct assistance with a FICO technical support engineer. Support is available to all clients who have purchased a FICO product and have an active support or maintenance contract. You can find support contact information and a link to the Customer Self Service Portal (online support) on the Product Support home page.
The FICO Customer Self Service Portal is a secure web portal that is available 24 hours a day, 7 days a week from the Product Support home page. The portal allows you to open, review, update, and close cases, as well as find solutions to common problems in the FICO Knowledge Base.
Success stories
Read the following decision optimization success stories to see how our chosen technologies are used to create maximum value.


Prayas (Energy Group)
With help from IBM Business Partner Cresco International, PEG transitioned to a modeling platform based on IBM® ILOG® CPLEX® Optimization Studio software. The organization can now introduce more variables into its simulations and test them more frequently, yielding richer research data to craft policy recommendations for the energy sector.

FleetPride
If a farmer’s tractor breaks down during harvest or a courier’s van has engine issues, they can’t afford to wait long for spare parts to arrive—they’ve got a job to do. Working with Cresco International, FleetPride is transforming its supply chain management with analytics, helping to ensure customers get the parts they need, when they need them.

Leading Bulk Tanker Transportation Company
Bulk tanker logistics is such a complex problem that many trucking companies can’t offer a comprehensive service: they have to specialize in only a small set of products. Optimization software from IBM is helping this leading tanker carrier to buck that trend by finding efficient routes in near-real time—enabling huge cost savings and supporting growth.
