Author: Ed Klotz, PhD
Date: 6/11/2021
Supply chain disruption has been making a lot of headlines over the past year. The COVID-19 pandemic, the Suez Canal blockage, and other recent events have shone a spotlight on the impact of supply chain disruption and the importance of supply chain agility and resilience.
But supply chain disruption is, of course, nothing new – in fact, it always has been (and always will be) part and parcel of each and every supply chain. Supply chain leaders have come to expect the unexpected, and know how to leverage the most effective strategies and technologies to react and respond to disruptions in the most efficient manner possible.
The key technology that supply chain stakeholders have relied on over the years to handle disruption (and also to manage their end-to-end supply chain planning, decision making, and operations) is mathematical optimization, a powerful prescriptive analytics tool.
Ever since the late 1980s – when I started my career in the mathematical optimization software industry – companies have been utilizing this AI technology to conquer their supply chain challenges and combat supply disruption (and to solve a whole host of other business problems as well).
Mathematical optimization solvers (which are algorithm-based problem-solving engines) are embedded in a wide array of supply chain planning software applications and used by enterprises across industries to optimize their end-to-end supply chains.
Interestingly, many business users – who leverage mathematical optimization in various off-the-shelf or custom-built software solutions – are not even aware that mathematical optimization is the engine that makes their company’s supply chain planning systems run. Just like you can drive a car without understanding what’s going on under the hood, you can use a mathematical optimization application – to make optimal supply chain plans and decisions – without having a deep understanding of its inner workings.
Whether you know it or not, the fact is that mathematical optimization has established itself as an indispensable tool for handling supply chain planning in general and supply chain disruptions in particular.
The question is: Why does mathematical optimization – which was first introduced over 70 years ago – have such staying power as the standard software technology for managing supply chain operations and disruptions?
Over the years, mathematical optimization technologies have constantly evolved, and we have seen consistent, colossal improvements in the speed and robustness of mathematical optimization solvers through the decades. To give you an example that illustrates this: Some business problems that can be solved in a single second using today’s cutting-edge solver technologies would have taken 55 years to solve in 1991.
What’s been propelling this phenomenal technological development? There are several key factors:
One business area where we’ve witnessed an explosion in complexity is the supply chain domain – with sprawling global production and distribution networks, volatile supply and demand dynamics, and incessant supply chain disruptions.
But over the years, as supply chain complexity and disruptions have increased, mathematical optimization technologies have evolved and improved in parallel – and, consequently, these technologies have been able to “meet the moment” and solve the supply chain problems that companies are facing at any given time.
When supply chain disruptions hit, businesses always know they can depend on mathematical optimization to give them the answers they need, when they need them – so that they can sense and react to supply chain issues in real-time, and take the necessary actions to resolve disruptions as quickly and effectively as possible.
To really gain an understanding of why mathematical optimization is such a powerful weapon in combating supply chain disruption, we need to take a look inside a mathematical optimization application.
Mathematical optimization has a few fundamental features that make it uniquely well suited to handle supply chain disruptions:
1. The mathematical optimization model: Each mathematical optimization supply chain application is built on a model (or, in other words, a digital twin) that encompasses your end-to-end network or particular components of your supply chain (such as your manufacturing, warehousing, or distribution operations).When supply chain disruptions occur, your mathematical optimization application provides you with an end-to-end view and real-time control over your entire supply chain network – so that you can:
2. The latest available data: By definition, disruptions are outliers – and this means that you may face challenges obtaining historical or training set data (which is used in AI technologies such as machine learning) that you can utilize to generate solutions and guide your decisions in times of disruption.In contrast, mathematical optimization leverages the latest available data flowing into the application from various sources (such as ERP and MES systems and IoT devices) across your supply chain network. So, when you are experiencing disruptions, you can have confidence that your mathematical application will be able to deliver optimal solutions and drive optimal decision making even in the face of these unprecedented supply chain challenges and changes.
3. The ability to measure solution quality: When a disruption occurs, you have to respond rapidly as time is limited – and it’s sometimes not possible to completely reoptimize your model. In these instances, mathematical optimization (unlike heuristic techniques) provides a measure of how close your solution is to optimality – so you know exactly how much money you’re leaving on the table.
4. What-if analysis: In order to deal with supply chain disruptions, you need to not only be able to quickly react in real-time to these events as they occur, but also to be able to proactively plan and prepare for future problems by pinpointing potential risks in your supply chain.Mathematical optimization’s scenario analysis capability allows you to accomplish the latter objective by:
Mathematical optimization technologies – because of the way they are designed and the way they have developed over the past decades – have cemented their place as the software tool of choice in handling supply chain disruption.
Nobody knows the future and can predict where, when, and how supply chain disruptions will strike.
What we do know for sure is that supply chain disruptions will continue to occur, supply chain complexity will continue to grow, and mathematical optimization technologies will continue be used by supply chain leaders to overcome these challenges.
We also know that (although it’s a “mature” AI technology) mathematical optimization will continue to evolve – so that it can enable enterprises to generate optimal, data-driven solutions to the problems of the day.
A version of this article was originally published on Supply and Demand Chain Executive here.
GUROBI NEWSLETTER
Latest news and releases
Choose the evaluation license that fits you best, and start working with our Expert Team for technical guidance and support.
Request free trial hours, so you can see how quickly and easily a model can be solved on the cloud.
Cookie | Duration | Description |
---|---|---|
_biz_flagsA | 1 year | A Cloudflare cookie set to record users’ settings as well as for authentication and analytics. |
_biz_pendingA | 1 year | A Cloudflare cookie set to record users’ settings as well as for authentication and analytics. |
_biz_sid | 30 minutes | This cookie is set by Bizible, to store the user's session id. |
ARRAffinity | session | ARRAffinity cookie is set by Azure app service, and allows the service to choose the right instance established by a user to deliver subsequent requests made by that user. |
ARRAffinitySameSite | session | This cookie is set by Windows Azure cloud, and is used for load balancing to make sure the visitor page requests are routed to the same server in any browsing session. |
BIGipServersj02web-nginx-app_https | session | NGINX cookie |
cookielawinfo-checkbox-advertisement | 1 year | Set by the GDPR Cookie Consent plugin, this cookie is used to record the user consent for the cookies in the "Advertisement" category . |
cookielawinfo-checkbox-analytics | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics". |
cookielawinfo-checkbox-functional | 11 months | The cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional". |
cookielawinfo-checkbox-necessary | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary". |
cookielawinfo-checkbox-others | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other. |
cookielawinfo-checkbox-performance | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance". |
CookieLawInfoConsent | 1 year | Records the default button state of the corresponding category & the status of CCPA. It works only in coordination with the primary cookie. |
elementor | never | This cookie is used by the website's WordPress theme. It allows the website owner to implement or change the website's content in real-time. |
JSESSIONID | session | New Relic uses this cookie to store a session identifier so that New Relic can monitor session counts for an application. |
viewed_cookie_policy | 11 months | The cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data. |
Cookie | Duration | Description |
---|---|---|
__cf_bm | 30 minutes | This cookie, set by Cloudflare, is used to support Cloudflare Bot Management. |
_biz_nA | 1 year | Bizible sets this cookie to remember users’ settings as well as for authentication and analytics. |
_biz_uid | 1 year | This cookie is set by Bizible, to store user id on the current domain. |
_hjAbsoluteSessionInProgress | 30 minutes | Hotjar sets this cookie to detect a user's first pageview session, which is a True/False flag set by the cookie. |
_mkto_trk | 2 years | This cookie is set by Marketo. This allows a website to track visitor behavior on the sites on which the cookie is installed and to link a visitor to the recipient of an email marketing campaign, to measure campaign effectiveness. Tracking is performed anonymously until a user self-identifies by submitting a form. |
bcookie | 1 year | LinkedIn sets this cookie from LinkedIn share buttons and ad tags to recognize browser ID. |
bscookie | 1 year | LinkedIn sets this cookie to store performed actions on the website. |
doc_langsBB | 1 year | Documentation system cookie |
doc_version | 1 year | Documentation system cookie |
lang | session | LinkedIn sets this cookie to remember a user's language setting. |
lidc | 1 day | LinkedIn sets the lidc cookie to facilitate data center selection. |
UserMatchHistory | 1 month | LinkedIn sets this cookie for LinkedIn Ads ID syncing. |
whova_client_id | 10 years | Event agenda system cookie |
Cookie | Duration | Description |
---|---|---|
_gat_UA-5909815-1 | 1 minute | A variation of the _gat cookie set by Google Analytics and Google Tag Manager to allow website owners to track visitor behaviour and measure site performance. The pattern element in the name contains the unique identity number of the account or website it relates to. |
Cookie | Duration | Description |
---|---|---|
_an_uid | 7 days | 6Sense Cookie |
_BUID | 1 year | This cookie, set by Bizible, is a universal user id to identify the same user across multiple clients’ domains. |
_ga | 2 years | The _ga cookie, installed by Google Analytics, calculates visitor, session and campaign data and also keeps track of site usage for the site's analytics report. The cookie stores information anonymously and assigns a randomly generated number to recognize unique visitors. |
_ga_* | 1 year 1 month 4 days | Google Analytics sets this cookie to store and count page views. |
_gat_UA-* | 1 minute | Google Analytics sets this cookie for user behaviour tracking. |
_gcl_au | 3 months | Provided by Google Tag Manager to experiment advertisement efficiency of websites using their services. |
_gd_session | 4 hours | This cookie is used for collecting information on users visit to the website. It collects data such as total number of visits, average time spent on the website and the pages loaded. |
_gd_visitor | 2 years | This cookie is used for collecting information on the users visit such as number of visits, average time spent on the website and the pages loaded for displaying targeted ads. |
_gid | 1 day | Installed by Google Analytics, _gid cookie stores information on how visitors use a website, while also creating an analytics report of the website's performance. Some of the data that are collected include the number of visitors, their source, and the pages they visit anonymously. |
_hjFirstSeen | 30 minutes | Hotjar sets this cookie to identify a new user’s first session. It stores the true/false value, indicating whether it was the first time Hotjar saw this user. |
_hjIncludedInSessionSample_* | 2 minutes | Hotjar cookie that is set to determine if a user is included in the data sampling defined by a site's daily session limit. |
_hjRecordingEnabled | never | Hotjar sets this cookie when a Recording starts and is read when the recording module is initialized, to see if the user is already in a recording in a particular session. |
_hjRecordingLastActivity | never | Hotjar sets this cookie when a user recording starts and when data is sent through the WebSocket. |
_hjSession_* | 30 minutes | Hotjar cookie that is set when a user first lands on a page with the Hotjar script. It is used to persist the Hotjar User ID, unique to that site on the browser. This ensures that behavior in subsequent visits to the same site will be attributed to the same user ID. |
_hjSessionUser_* | 1 year | Hotjar cookie that is set when a user first lands on a page with the Hotjar script. It is used to persist the Hotjar User ID, unique to that site on the browser. This ensures that behavior in subsequent visits to the same site will be attributed to the same user ID. |
_hjTLDTest | session | To determine the most generic cookie path that has to be used instead of the page hostname, Hotjar sets the _hjTLDTest cookie to store different URL substring alternatives until it fails. |
6suuid | 2 years | 6Sense Cookie |
AnalyticsSyncHistory | 1 month | LinkedIn cookie |
BE_CLA3 | 1 year 1 month 4 days | BrightEdge sets this cookie to enable data aggregation, analysis and report creation to assess marketing effectiveness and provide solutions for SEO, SEM and website performance. |
CONSENT | 2 years | YouTube sets this cookie via embedded youtube-videos and registers anonymous statistical data. |
dj | 10 years | DemandJump cookie |
djaimid.a28e | 2 years | DemandJump cookiean |
djaimses.a28e | 30 minutes | DemandJump cookie |
li_gc | 5 months 27 days | LinkedIn Cookie |
ln_or | 1 day | LinkedIn Cookie |
vuid | 2 years | Vimeo installs this cookie to collect tracking information by setting a unique ID to embed videos to the website. |
Cookie | Duration | Description |
---|---|---|
__adroll | 1 year 1 month | This cookie is set by AdRoll to identify users across visits and devices. It is used by real-time bidding for advertisers to display relevant advertisements. |
__adroll_fpc | 1 year | AdRoll sets this cookie to target users with advertisements based on their browsing behaviour. |
__adroll_shared | 1 year 1 month | Adroll sets this cookie to collect information on users across different websites for relevant advertising. |
__ar_v4 | 1 year | This cookie is set under the domain DoubleClick, to place ads that point to the website in Google search results and to track conversion rates for these ads. |
_fbp | 3 months | This cookie is set by Facebook to display advertisements when either on Facebook or on a digital platform powered by Facebook advertising, after visiting the website. |
_te_ | session | Adroll cookie |
fr | 3 months | Facebook sets this cookie to show relevant advertisements to users by tracking user behaviour across the web, on sites that have Facebook pixel or Facebook social plugin. |
IDE | 1 year 24 days | Google DoubleClick IDE cookies are used to store information about how the user uses the website to present them with relevant ads and according to the user profile. |
li_sugr | 3 months | LinkedIn sets this cookie to collect user behaviour data to optimise the website and make advertisements on the website more relevant. |
test_cookie | 15 minutes | The test_cookie is set by doubleclick.net and is used to determine if the user's browser supports cookies. |
VISITOR_INFO1_LIVE | 5 months 27 days | A cookie set by YouTube to measure bandwidth that determines whether the user gets the new or old player interface. |
YSC | session | YSC cookie is set by Youtube and is used to track the views of embedded videos on Youtube pages. |
yt-remote-connected-devices | never | YouTube sets this cookie to store the video preferences of the user using embedded YouTube video. |
yt-remote-device-id | never | YouTube sets this cookie to store the video preferences of the user using embedded YouTube video. |
yt.innertube::nextId | never | This cookie, set by YouTube, registers a unique ID to store data on what videos from YouTube the user has seen. |
yt.innertube::requests | never | This cookie, set by YouTube, registers a unique ID to store data on what videos from YouTube the user has seen. |