SlideShare a Scribd company logo
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 @ MediaGeniX
ESUG
 
Kanban testing
Kanban testingKanban testing
Kanban testing
Cprime
 
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 Software
DevOps 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 experiences
Morgan 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öm
Konsumentverket
 
AUG NYC June 12 - Event Presentations
AUG NYC June 12 - Event PresentationsAUG NYC June 12 - Event Presentations
AUG NYC June 12 - Event Presentations
Madhusudhan 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 2015
Steve 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 Feature
MongoDB
 
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
Margot
 
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
Annis 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 solution
Raphael 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 work
Chris 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 tooling
Thomas 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
 
Andriy bahlay
Andriy bahlay   Andriy bahlay
Andriy bahlay
Lviv Startup Club
 

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

Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
innovationoecd
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
DanBrown980551
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
Zilliz
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
Jakub Marek
 
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
saastr
 
Azure API Management to expose backend services securely
Azure API Management to expose backend services securelyAzure API Management to expose backend services securely
Azure API Management to expose backend services securely
Dinusha Kumarasiri
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
Tatiana Kojar
 
Operating System Used by Users in day-to-day life.pptx
Operating System Used by Users in day-to-day life.pptxOperating System Used by Users in day-to-day life.pptx
Operating System Used by Users in day-to-day life.pptx
Pravash Chandra Das
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
Postman
 
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Jeffrey Haguewood
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
Zilliz
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
ssuserfac0301
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
MichaelKnudsen27
 
Nunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdf
Nunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdfNunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdf
Nunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdf
flufftailshop
 
Deep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStr
Deep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStrDeep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStr
Deep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStr
saastr
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
Chart Kalyan
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
kumardaparthi1024
 
dbms calicut university B. sc Cs 4th sem.pdf
dbms  calicut university B. sc Cs 4th sem.pdfdbms  calicut university B. sc Cs 4th sem.pdf
dbms calicut university B. sc Cs 4th sem.pdf
Shinana2
 
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
saastr
 

Recently uploaded (20)

Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
 
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
 
Azure API Management to expose backend services securely
Azure API Management to expose backend services securelyAzure API Management to expose backend services securely
Azure API Management to expose backend services securely
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
 
Operating System Used by Users in day-to-day life.pptx
Operating System Used by Users in day-to-day life.pptxOperating System Used by Users in day-to-day life.pptx
Operating System Used by Users in day-to-day life.pptx
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
 
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
 
Nunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdf
Nunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdfNunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdf
Nunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdf
 
Deep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStr
Deep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStrDeep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStr
Deep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStr
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
 
dbms calicut university B. sc Cs 4th sem.pdf
dbms  calicut university B. sc Cs 4th sem.pdfdbms  calicut university B. sc Cs 4th sem.pdf
dbms calicut university B. sc Cs 4th sem.pdf
 
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
 

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