SlideShare a Scribd company logo
1 of 15
Digital Transformation | Software Development | Systems Integration
Audacia
Problem Solved:
Implementing Google OR Tools 🍕
Owen Lacey, Principal Consultant
Digital Transformation | Software Development | Systems Integration
About me
• 👨🎓 Bsc Mathematics - Warwick
• 💼 Audacia Consulting since 2016
• 😍 OR Tools, ML.NET
Digital Transformation | Software Development | Systems Integration
Introduction
• 🕵🕵♂️ Optimisation problems & their identification
• 🚀 Google OR Tools
• 🍕 Worked example: Pizza party
• ⁉ Conclusion & questions
Digital Transformation | Software Development | Systems Integration
Optimisation problems
• What makes a problem an optimisation problem?
• Many possible solutions
• Each solution scorable
• Feasible vs. Optimal
• Not knowing the ‘how’
• Reducing a problem into constraints
Digital Transformation | Software Development | Systems Integration
Optimisation problems
Example – Shift Scheduling:
Create a schedule for a workforce, with the following rules:
• A minimum of 3 employees must be working at any given time
• Each employee can’t work more than 35 hours / week
• Employee A won’t work on Thursdays
• Employee B would prefer not to work nights
Digital Transformation | Software Development | Systems Integration
Optimisation problems
Example – Shift Scheduling:
Create a schedule for a workforce, with the following rules:
• A minimum of 3 employees must be working at any given time
• Each employee cannot work more than 35 hours / week
• Employee A cannot work on Thursdays
• Employee B would prefer not to work nights
Digital Transformation | Software Development | Systems Integration
Google OR Tools
• Est 2011.
• Free, open source toolkit for solving
optimisation problems.
• Black-boxed using a combination of
commercial solvers (e.g IBM’s CPLEX solver),
open-source solvers (SCIP), and their award-
winning in-house solvers (Google’s CP-SAT).
• Written in C++
• Python, Java, .NET wrappers
Digital Transformation | Software Development | Systems Integration
Google OR Tools
• Alternatives: OptaPlanner (Java) and GECODE
(C++) & others.
Digital Transformation | Software Development | Systems Integration
Google OR Tools
Use cases:
• Task Assignment
• Scheduling: Workshops / Shifts
• Routing: Travelling Salesman
• Bin packing
• Network Flows: Min/Max cost flow
• Linear/Constraint Optimisation
Digital Transformation | Software Development | Systems Integration
Google OR Tools
Linear/Constraint Optimisation with ‘feasible’ output
Digital Transformation | Software Development | Systems Integration
Google OR Tools
.NET:
2 NuGet packages:
• OR Tools
• OS Runtime (Windows / Mac / Linux)
Digital Transformation | Software Development | Systems Integration
Examples
🍕 Give out pizza (Assignment)
• Each person gets a maximum of one pizza.
• No pizza is shared.
• Pizza is leftover if there are more pizzas than people.
Digital Transformation | Software Development | Systems Integration
Examples
🍕 Give out pizza (Assignment)
Digital Transformation | Software Development | Systems Integration
Resources
Today’s code:
https://github.com/audaciaconsulting/Audacia.OrToolsPlayground/
OR-Tools repo
https://github.com/google/or-tools
OR Tools homepage
https://developers.google.com/optimization
Audacia Blog:
https://www.audacia.co.uk/technical-blog
Resources
Digital Transformation | Software Development | Systems Integration
Questions

More Related Content

Similar to Slides.pptx

Agile & Lean @ MediaGeniX
Agile & Lean @ MediaGeniXAgile & Lean @ MediaGeniX
Agile & Lean @ MediaGeniXESUG
 
Kanban testing
Kanban testingKanban testing
Kanban testingCprime
 
To successfully deliver your IT project: build your team, build your Agile it...
To successfully deliver your IT project: build your team, build your Agile it...To successfully deliver your IT project: build your team, build your Agile it...
To successfully deliver your IT project: build your team, build your Agile it...Jean-François Nguyen
 
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems SoftwareLessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems SoftwareDevOps for Enterprise Systems
 
AgileDC15 I'm Using Chef So I'm DevOps Right?
AgileDC15 I'm Using Chef So I'm DevOps Right?AgileDC15 I'm Using Chef So I'm DevOps Right?
AgileDC15 I'm Using Chef So I'm DevOps Right?Rob Brown
 
How to create awesome customer experiences
How to create awesome customer experiencesHow to create awesome customer experiences
How to create awesome customer experiencesMorgan Simonsen
 
ECC-Net Web presence, Lars Boström
ECC-Net Web presence, Lars BoströmECC-Net Web presence, Lars Boström
ECC-Net Web presence, Lars BoströmKonsumentverket
 
AUG NYC June 12 - Event Presentations
AUG NYC June 12 - Event PresentationsAUG NYC June 12 - Event Presentations
AUG NYC June 12 - Event PresentationsMadhusudhan Matrubai
 
Agility via Software Engineering Practices - Agile Tour Montreal 2015
Agility via Software Engineering Practices - Agile Tour Montreal 2015Agility via Software Engineering Practices - Agile Tour Montreal 2015
Agility via Software Engineering Practices - Agile Tour Montreal 2015Steve Mercier
 
Devops, the future is here, it's just not evenly distributed yet.
Devops, the future is here, it's just not evenly distributed yet.Devops, the future is here, it's just not evenly distributed yet.
Devops, the future is here, it's just not evenly distributed yet.Kris Buytaert
 
Getting Agile Right - Rebooting an Agile Organization in 100 days - Agile Tou...
Getting Agile Right - Rebooting an Agile Organization in 100 days - Agile Tou...Getting Agile Right - Rebooting an Agile Organization in 100 days - Agile Tou...
Getting Agile Right - Rebooting an Agile Organization in 100 days - Agile Tou...Maurizio Mancini
 
Lean Kanban India 2019 Conference | Agility and DevOps: Needed - an Integrate...
Lean Kanban India 2019 Conference | Agility and DevOps: Needed - an Integrate...Lean Kanban India 2019 Conference | Agility and DevOps: Needed - an Integrate...
Lean Kanban India 2019 Conference | Agility and DevOps: Needed - an Integrate...LeanKanbanIndia
 
MongoDB World 2018: How an Idea Becomes a MongoDB Feature
MongoDB World 2018: How an Idea Becomes a MongoDB FeatureMongoDB World 2018: How an Idea Becomes a MongoDB Feature
MongoDB World 2018: How an Idea Becomes a MongoDB FeatureMongoDB
 
Are we there yet? Rev up your productivity with project management tools
Are we there yet? Rev up your productivity with project management toolsAre we there yet? Rev up your productivity with project management tools
Are we there yet? Rev up your productivity with project management toolsMargot
 
Are we there yet? Rev up your productivity with project management tools
Are we there yet?  Rev up your productivity with project management toolsAre we there yet?  Rev up your productivity with project management tools
Are we there yet? Rev up your productivity with project management toolsAnnis Lee Adams
 
MPUG Webinar: Setting up a project schedule without a PPM solution
MPUG Webinar: Setting up a project schedule without a PPM solutionMPUG Webinar: Setting up a project schedule without a PPM solution
MPUG Webinar: Setting up a project schedule without a PPM solutionRaphael Santos
 
Chris OBrien - Azure DevOps for managing work
Chris OBrien - Azure DevOps for managing workChris OBrien - Azure DevOps for managing work
Chris OBrien - Azure DevOps for managing workChris O'Brien
 
Branding office 365 with front end tooling
Branding office 365 with front end toolingBranding office 365 with front end tooling
Branding office 365 with front end toolingThomas Daly
 
ОЛЕКСАНДР СНІГОВИЙ «Continuous Deployment: Challenges, Solutions, and Lesson...
ОЛЕКСАНДР СНІГОВИЙ «Continuous Deployment: Challenges, Solutions, and Lesson...ОЛЕКСАНДР СНІГОВИЙ «Continuous Deployment: Challenges, Solutions, and Lesson...
ОЛЕКСАНДР СНІГОВИЙ «Continuous Deployment: Challenges, Solutions, and Lesson...UA DevOps Conference
 

Similar to Slides.pptx (20)

Agile & Lean @ MediaGeniX
Agile & Lean @ MediaGeniXAgile & Lean @ MediaGeniX
Agile & Lean @ MediaGeniX
 
Kanban testing
Kanban testingKanban testing
Kanban testing
 
To successfully deliver your IT project: build your team, build your Agile it...
To successfully deliver your IT project: build your team, build your Agile it...To successfully deliver your IT project: build your team, build your Agile it...
To successfully deliver your IT project: build your team, build your Agile it...
 
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems SoftwareLessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
 
AgileDC15 I'm Using Chef So I'm DevOps Right?
AgileDC15 I'm Using Chef So I'm DevOps Right?AgileDC15 I'm Using Chef So I'm DevOps Right?
AgileDC15 I'm Using Chef So I'm DevOps Right?
 
How to create awesome customer experiences
How to create awesome customer experiencesHow to create awesome customer experiences
How to create awesome customer experiences
 
ECC-Net Web presence, Lars Boström
ECC-Net Web presence, Lars BoströmECC-Net Web presence, Lars Boström
ECC-Net Web presence, Lars Boström
 
AUG NYC June 12 - Event Presentations
AUG NYC June 12 - Event PresentationsAUG NYC June 12 - Event Presentations
AUG NYC June 12 - Event Presentations
 
Agility via Software Engineering Practices - Agile Tour Montreal 2015
Agility via Software Engineering Practices - Agile Tour Montreal 2015Agility via Software Engineering Practices - Agile Tour Montreal 2015
Agility via Software Engineering Practices - Agile Tour Montreal 2015
 
Devops, the future is here, it's just not evenly distributed yet.
Devops, the future is here, it's just not evenly distributed yet.Devops, the future is here, it's just not evenly distributed yet.
Devops, the future is here, it's just not evenly distributed yet.
 
Getting Agile Right - Rebooting an Agile Organization in 100 days - Agile Tou...
Getting Agile Right - Rebooting an Agile Organization in 100 days - Agile Tou...Getting Agile Right - Rebooting an Agile Organization in 100 days - Agile Tou...
Getting Agile Right - Rebooting an Agile Organization in 100 days - Agile Tou...
 
Lean Kanban India 2019 Conference | Agility and DevOps: Needed - an Integrate...
Lean Kanban India 2019 Conference | Agility and DevOps: Needed - an Integrate...Lean Kanban India 2019 Conference | Agility and DevOps: Needed - an Integrate...
Lean Kanban India 2019 Conference | Agility and DevOps: Needed - an Integrate...
 
MongoDB World 2018: How an Idea Becomes a MongoDB Feature
MongoDB World 2018: How an Idea Becomes a MongoDB FeatureMongoDB World 2018: How an Idea Becomes a MongoDB Feature
MongoDB World 2018: How an Idea Becomes a MongoDB Feature
 
Are we there yet? Rev up your productivity with project management tools
Are we there yet? Rev up your productivity with project management toolsAre we there yet? Rev up your productivity with project management tools
Are we there yet? Rev up your productivity with project management tools
 
Are we there yet? Rev up your productivity with project management tools
Are we there yet?  Rev up your productivity with project management toolsAre we there yet?  Rev up your productivity with project management tools
Are we there yet? Rev up your productivity with project management tools
 
MPUG Webinar: Setting up a project schedule without a PPM solution
MPUG Webinar: Setting up a project schedule without a PPM solutionMPUG Webinar: Setting up a project schedule without a PPM solution
MPUG Webinar: Setting up a project schedule without a PPM solution
 
Chris OBrien - Azure DevOps for managing work
Chris OBrien - Azure DevOps for managing workChris OBrien - Azure DevOps for managing work
Chris OBrien - Azure DevOps for managing work
 
Branding office 365 with front end tooling
Branding office 365 with front end toolingBranding office 365 with front end tooling
Branding office 365 with front end tooling
 
ОЛЕКСАНДР СНІГОВИЙ «Continuous Deployment: Challenges, Solutions, and Lesson...
ОЛЕКСАНДР СНІГОВИЙ «Continuous Deployment: Challenges, Solutions, and Lesson...ОЛЕКСАНДР СНІГОВИЙ «Continuous Deployment: Challenges, Solutions, and Lesson...
ОЛЕКСАНДР СНІГОВИЙ «Continuous Deployment: Challenges, Solutions, and Lesson...
 
Andriy bahlay
Andriy bahlay   Andriy bahlay
Andriy bahlay
 

Recently uploaded

Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Principled Technologies
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 

Recently uploaded (20)

Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 

Slides.pptx

  • 1. Digital Transformation | Software Development | Systems Integration Audacia Problem Solved: Implementing Google OR Tools 🍕 Owen Lacey, Principal Consultant
  • 2. Digital Transformation | Software Development | Systems Integration About me • 👨🎓 Bsc Mathematics - Warwick • 💼 Audacia Consulting since 2016 • 😍 OR Tools, ML.NET
  • 3. Digital Transformation | Software Development | Systems Integration Introduction • 🕵🕵♂️ Optimisation problems & their identification • 🚀 Google OR Tools • 🍕 Worked example: Pizza party • ⁉ Conclusion & questions
  • 4. Digital Transformation | Software Development | Systems Integration Optimisation problems • What makes a problem an optimisation problem? • Many possible solutions • Each solution scorable • Feasible vs. Optimal • Not knowing the ‘how’ • Reducing a problem into constraints
  • 5. Digital Transformation | Software Development | Systems Integration Optimisation problems Example – Shift Scheduling: Create a schedule for a workforce, with the following rules: • A minimum of 3 employees must be working at any given time • Each employee can’t work more than 35 hours / week • Employee A won’t work on Thursdays • Employee B would prefer not to work nights
  • 6. Digital Transformation | Software Development | Systems Integration Optimisation problems Example – Shift Scheduling: Create a schedule for a workforce, with the following rules: • A minimum of 3 employees must be working at any given time • Each employee cannot work more than 35 hours / week • Employee A cannot work on Thursdays • Employee B would prefer not to work nights
  • 7. Digital Transformation | Software Development | Systems Integration Google OR Tools • Est 2011. • Free, open source toolkit for solving optimisation problems. • Black-boxed using a combination of commercial solvers (e.g IBM’s CPLEX solver), open-source solvers (SCIP), and their award- winning in-house solvers (Google’s CP-SAT). • Written in C++ • Python, Java, .NET wrappers
  • 8. Digital Transformation | Software Development | Systems Integration Google OR Tools • Alternatives: OptaPlanner (Java) and GECODE (C++) & others.
  • 9. Digital Transformation | Software Development | Systems Integration Google OR Tools Use cases: • Task Assignment • Scheduling: Workshops / Shifts • Routing: Travelling Salesman • Bin packing • Network Flows: Min/Max cost flow • Linear/Constraint Optimisation
  • 10. Digital Transformation | Software Development | Systems Integration Google OR Tools Linear/Constraint Optimisation with ‘feasible’ output
  • 11. Digital Transformation | Software Development | Systems Integration Google OR Tools .NET: 2 NuGet packages: • OR Tools • OS Runtime (Windows / Mac / Linux)
  • 12. Digital Transformation | Software Development | Systems Integration Examples 🍕 Give out pizza (Assignment) • Each person gets a maximum of one pizza. • No pizza is shared. • Pizza is leftover if there are more pizzas than people.
  • 13. Digital Transformation | Software Development | Systems Integration Examples 🍕 Give out pizza (Assignment)
  • 14. Digital Transformation | Software Development | Systems Integration Resources Today’s code: https://github.com/audaciaconsulting/Audacia.OrToolsPlayground/ OR-Tools repo https://github.com/google/or-tools OR Tools homepage https://developers.google.com/optimization Audacia Blog: https://www.audacia.co.uk/technical-blog Resources
  • 15. Digital Transformation | Software Development | Systems Integration Questions

Editor's Notes

  1. Ask for questions now!
  2. Ask for questions now!
  3. As people, we face many problems / obstacles every day. But for problems that can be solved in many ways, as rational humans we tend to opt for the solution that gives us the best result, based our pre-conceived ideas of what a ‘good’ outcome is. EXAMPLE Getting to work – not an optimisation problem, but still requires formalisation Splitting problems into smaller chunks & rules. WHAT MAKES A SOLUTION GOOD?
  4. Soft vs hard constraint
  5. TODO map image
  6. TODO map image