Skip to main content

Optimisation problems - Far from being a commodity


I am always surprised how many - at first sight - easy, resource optimisation problems, are still unsolved or can only get solved by specialist users.
Almost in every industry, you have optimisation problems, i.e. problems in which resources are constrained (limited capacity) and need to be most effectively planned to come to a solution. Typically, each resource also comes with a number of constraints, which makes the planning exercise even more complex.
Some every-day examples are:
  • School exam schedules: create a schedule for all exams for the different school years and directions, taking into account the availability of teachers (sometimes working at multiple schools), availability of classrooms, but also preferences of students (e.g. complex and large classes like mathematics placed after a weekend).
  • School schedules for supervision during breaks: create a schedule for the supervision of teachers on the playground during breaks, taking into account the number of hours each teacher should do supervision (based on seniority and working regime), the availability of the teacher at the school (e.g. don’t foresee a teacher for supervision on a day he is not working or he is working at another school) and the preferences of each teacher.
  • School class schedules: create a schedule for all classes for the different school years and directions, taking into account the availability of teachers, the number of hours each direction should follow of a specific class and some logical constraints ensuring a good mix (e.g. not all hours of one class on the same day, mix of sciences and languages during a day…​)
  • Allocation of students to schools: allocate all students to different schools, taking into account the number of places in each school, which directions are offered at each school, the preferences of students, the distance of the student’s home address to the school, priority students like brothers/sisters of students already at the school…​
  • Schedules for work shifts: these schedules should make sure all work gets done, that the schedule is fair and motivating for every employee, but also that potential costs are minimized (e.g. for airplane crew avoid as much as possible hotel costs if crew has to spend the night abroad), e.g.
    • In hospitals: schedules for doctors and nurses
    • In airline companies: schedules for plane crew (pilots and stewards/stewardesses), taking into account flight schedules, minimum rest times, working regimes, ensuring a mix in seniority of the crew, capabilities of pilot to fly with certain planes…​
  • Task assignments:
    • Assignment of manual tasks, with different degrees of complexity to a number of resources, taking into account resource availability, resource task backlog, complexity of task and knowledge/expertise of resource…​ Typical examples in the financial services industry are credit analysis and decision tasks and KYC tasks.
    • Allocation of specialists to projects: in a company certain IT specialists like DBAs, architects, DevOps specialists, security specialists…​ are often solicited by multiple projects. The allocation of these specialists is also an optimization problem, taking into account the availability of the specialists, priority of projects, planning restrictions of the projects, effort required on each project…​
  • Schedules for usage and maintenance of vehicles, tools and equipment, e.g.
    • Airplane scheduling: determine which aircraft to fly on each route, where and when it should be maintained, whether airplane should make intermediate stops…​
    • Office & desk assignment: determine location of office (optimal for everyone to come to office) and desks to optimize productivity (minimum travel time, maximize collaboration, maximize employee satisfaction, minimize costs…​)
    • Schedules for maintenance of highly used and expensive equipment, e.g. maintenance of electricity centrals, taking into account constraints like electricity price, forecasted electricity consumption, availability of resources to execute the maintenance activities…​
    • Commitment of equipment, e.g. generator commitment, i.e. given the forecasted demand and operating cost of each generator, determine which generators should be activated at which time
  • Route planning:
    • Calculation of delivery routes (for transportation companies, postal services, courier services…​): given a list of destinations to deliver something, what is the optimal route to pass by each delivery address, taking into account constraints like traffic jams (current traffic jams, but also forecasted recurring traffic jams), availability of people to sign off for a delivery, urgency of a delivery…​
    • (Multi-modal) Route planning: planning a route, allowing to use different mobility options (car, bike, public transport, shared mobility…​), while taking into account constraints like weather, passengers, personal preferences (e.g. mobility restrictions), availability of mobility options, traffic on the road, cost price…​ The route could be optimized for time, cost price or ecological footprint (or a combination of these different objectives.
  • Investment advise optimization:
    • Robo-advise: given a limited amount of money a customer can invest, try to optimize the customer’s portfolio diversification (i.e. minimize correlation between assets, thus minimizing market risk) taking into account multiple constraints, like MiFID2 appropriateness constraints (i.e. only invest in products in which customer has required knowledge and experience), MIFID2 suitability constraints (i.e. the resulting portfolio should meet the customer’s investment objectives), customer’s personal constraints (e.g. only local firms, no foreign currencies, no tobacco or weapon industry, only investment in sustainable companies), internal policy constraints (e.g. no derivatives, maximum 20% in same share, maximum 10% in same sector, bonds should have a minimum B+ rating), cost constraints (i.e. optimize for transaction costs, by avoiding to sell existing positions if not needed and avoiding to buy too much small positions), trading constraints (such as minimum trading quantity and denomination)…​
    • Determine optimal bond portfolio: based on a predefined schedule of future (in and out) cash flows, compose a bond portfolio, for which coupon and reimbursement payments match these cash flows, while meeting also additional objectives and constraints, like maximizing return (i.e. highest interest rate), minimum bond rating, maximum percentage in same bond issuer…​
All the above problems are actually optimisation problems, for which in principle all elements are known upfront (or can at least be estimated), meaning there is little to no forecasting required. This makes a big difference with forecasting problems (often resolved with AI), which usually try to predict future behaviour based on data (and derived insights) from the past. Examples of such forecasting problems are calculation of required cash to be foreseen in ATMs, customer or employee churn predictions, product recommendations, credit scoring (calculate probability of customer not being to reimburse credit)…​
Every one of the above optimisation problems has following elements:
  • A (finite) list of resources (e.g. employees, equipment, vehicles, money…​) which should be allocated in the best possible way
  • A list of constraints on the resources (e.g. maximum working hours per employee). As it might be impossible to meet all constraints, it is important to set a weight to each constraint, so that hard constraints are forced to be met, while softer constraints are only used for optimization.
  • A cost function to determine how well a specific solution to the optimization problem meets the expectations, i.e. indication how well constraints are met and how well the target objective is reached. This target objective can be a single objective (like minimizing cost, minimizing delays…​) or a weighted combination of multiple objectives.
Note that in some cases in order to calculate the cost function, it might be required to work with simulation and forecasting models to calculate certain external or non-mathematical factors (such as traffic jam prediction or employee motivation). It is however best to split these 2 problems, i.e. the optimization problem can be isolated by calling a separate forecasting model to get necessary input for cost function calculation.
Given the specific skills required to solve these issues (not yet commoditized) and also the fact that optimizations often cross certain boundaries (e.g. for exam schedules, it should ideally be done for all schools together, to take into account teachers working at multiple schools), "Optimisation as a Service" seems a very interesting business.
Depending on the frequency of execution of the optimisation problem, different service levels can be foreseen, i.e.
  • For a one-shot calculation problem, data can be delivered manually, and very little automation is required.
  • For a recurring (daily, weekly, monthly) calculation more automation is required in the delivery of the input data (i.e. resources and their availability and constraints), the execution and delivery of output results, but performance is less of an issue
  • Continuous (also real-time) optimization problems, requiring a full automation, with very low latency
While the world is overwhelmed by Machine Learning and AI tools, offerings and consultancy firms, it is strange that these optimisation problems which offer also enormous business potential for many companies, are still the domain of specialists and intuition and a lot of manual work. It will be interesting to see if open source tools (like TensorFlow did for ML and AI) can further commoditize these problems. The business potential is in any case enormous (will Google deliver the necessary revolution here as well or will a new unicorn rise?).
Check out all my blogs on https://bankloch.blogspot.com/

Comments

  1. Informative blog...!!
    Fretron Logistics Software for Transportation Management Systems is an integrated solution that covers end to end needs of Logistics Service Providers and shippers.
    Transportation Management Solution
    Transportation Management Software

    ReplyDelete
  2. This is very interesting blog, thanks for posting. I found that Gurobi is very good at handling the wide variety of problems you mention above, and does so incredibly quickly.

    ReplyDelete

Post a Comment

Popular posts from this blog

Transforming the insurance sector to an Open API Ecosystem

1. Introduction "Open" has recently become a new buzzword in the financial services industry, i.e.   open data, open APIs, Open Banking, Open Insurance …​, but what does this new buzzword really mean? "Open" refers to the capability of companies to expose their services to the outside world, so that   external partners or even competitors   can use these services to bring added value to their customers. This trend is made possible by the technological evolution of   open APIs (Application Programming Interfaces), which are the   digital ports making this communication possible. Together companies, interconnected through open APIs, form a true   API ecosystem , offering best-of-breed customer experience, by combining the digital services offered by multiple companies. In the   technology sector   this evolution has been ongoing for multiple years (think about the travelling sector, allowing you to book any hotel online). An excelle...

Are product silos in a bank inevitable?

Silo thinking   is often frowned upon in the industry. It is often a synonym for bureaucratic processes and politics and in almost every article describing the threats of new innovative Fintech players on the banking industry, the strong bank product silos are put forward as one of the main blockages why incumbent banks are not able to (quickly) react to the changing customer expectations. Customers want solutions to their problems   and do not want to be bothered about the internal organisation of their bank. Most banks are however organized by product domain (daily banking, investments and lending) and by customer segmentation (retail banking, private banking, SMEs and corporates). This division is reflected both at business and IT side and almost automatically leads to the creation of silos. It is however difficult to reorganize a bank without creating new silos or introducing other types of issues and inefficiencies. An organization is never ideal and needs to take a numbe...

RPA - The miracle solution for incumbent banks to bridge the automation gap with neo-banks?

Hypes and marketing buzz words are strongly present in the IT landscape. Often these are existing concepts, which have evolved technologically and are then renamed to a new term, as if it were a brand new technology or concept. If you want to understand and assess these new trends, it is important to   reduce the concepts to their essence and compare them with existing technologies , e.g. Integration (middleware) software   ensures that 2 separate applications or components can be integrated in an easy way. Of course, there is a huge evolution in the protocols, volumes of exchanged data, scalability, performance…​, but in essence the problem remains the same. Nonetheless, there have been multiple terms for integration software such as ETL, ESB, EAI, SOA, Service Mesh…​ Data storage software   ensures that data is stored in such a way that data is not lost and that there is some kind guaranteed consistency, maximum availability and scalability, easy retrieval...

IoT - Revolution or Evolution in the Financial Services Industry

1. The IoT hype We have all heard about the   "Internet of Things" (IoT)   as this revolutionary new technology, which will radically change our lives. But is it really such a revolution and will it really have an impact on the Financial Services Industry? To refresh our memory, the Internet of Things (IoT) refers to any   object , which is able to   collect data and communicate and share this information (like condition, geolocation…​)   over the internet . This communication will often occur between 2 objects (i.e. not involving any human), which is often referred to as Machine-to-Machine (M2M) communication. Well known examples are home thermostats, home security systems, fitness and health monitors, wearables…​ This all seems futuristic, but   smartphones, tablets and smartwatches   can also be considered as IoT devices. More importantly, beside these futuristic visions of IoT, the smartphone will most likely continue to be the cent...

PSD3: The Next Phase in Europe’s Payment Services Regulation

With the successful rollout of PSD2, the European Union (EU) continues to advance innovation in the payments domain through the anticipated introduction of the   Payment Services Directive 3 (PSD3) . On June 28, 2023, the European Commission published a draft proposal for PSD3 and the   Payment Services Regulation (PSR) . The finalized versions of this directive and associated regulation are expected to be available by late 2024, although some predictions suggest a more likely timeline of Q2 or Q3 2025. Given that member states are typically granted an 18-month transition period, PSD3 is expected to come into effect sometime in 2026. Notably, the Commission has introduced a regulation (PSR) alongside the PSD3 directive, ensuring more harmonization across member states as regulations are immediately effective and do not require national implementation, unlike directives. PSD3 shares the same objectives as PSD2, i.e.   increasing competition in the payments landscape and en...

Trade-offs Are Inevitable in Software Delivery - Remember the CAP Theorem

In the world of financial services, the integrity of data systems is fundamentally reliant on   non-functional requirements (NFRs)   such as reliability and security. Despite their importance, NFRs often receive secondary consideration during project scoping, typically being reduced to a generic checklist aimed more at compliance than at genuine functionality. Regrettably, these initial NFRs are seldom met after delivery, which does not usually prevent deployment to production due to the vague and unrealistic nature of the original specifications. This common scenario results in significant end-user frustration as the system does not perform as expected, often being less stable or slower than anticipated. This situation underscores the need for   better education on how to articulate and define NFRs , i.e. demanding only what is truly necessary and feasible within the given budget. Early and transparent discussions can lead to system architecture being tailored more close...

Low- and No-code platforms - Will IT developers soon be out of a job?

“ The future of coding is no coding at all ” - Chris Wanstrath (CEO at GitHub). Mid May I posted a blog on RPA (Robotic Process Automation -   https://bankloch.blogspot.com/2020/05/rpa-miracle-solution-for-incumbent.html ) on how this technology, promises the world to companies. A very similar story is found with low- and no-code platforms, which also promise that business people, with limited to no knowledge of IT, can create complex business applications. These   platforms originate , just as RPA tools,   from the growing demand for IT developments , while IT cannot keep up with the available capacity. As a result, an enormous gap between IT teams and business demands is created, which is often filled by shadow-IT departments, which extend the IT workforce and create business tools in Excel, Access, WordPress…​ Unfortunately these tools built in shadow-IT departments arrive very soon at their limits, as they don’t support the required non-functional requirements (like h...

An overview of 1-year blogging

Last week I published my   60th post   on my blog called   Bankloch   (a reference to "Banking" and my family name). The past year, I have published a blog on a weekly basis, providing my humble personal vision on the topics of Fintech, IT software delivery and mobility. This blogging has mainly been a   personal enrichment , as it forced me to dive deep into a number of different topics, not only in researching for content, but also in trying to identify trends, innovations and patterns into these topics. Furthermore it allowed me to have several very interesting conversations and discussions with passionate colleagues in the financial industry and to get more insights into the wonderful world of blogging and more general of digital marketing, exploring subjects and tools like: Search Engine Optimization (SEO) LinkedIn post optimization Google Search Console Google AdWorks Google Blogger Thinker360 Finextra …​ Clearly it is   not easy to get the necessary ...

AI in Financial Services - A buzzword that is here to stay!

In a few of my most recent blogs I tried to   demystify some of the buzzwords   (like blockchain, Low- and No-Code platforms, RPA…​), which are commonly used in the financial services industry. These buzzwords often entail interesting innovations, but contrary to their promise, they are not silver bullets solving any problem. Another such buzzword is   AI   (or also referred to as Machine Learning, Deep Learning, Enforced Learning…​ - the difference between those terms put aside). Again this term is also seriously hyped, creating unrealistic expectations, but contrary to many other buzzwords, this is something I truly believe will have a much larger impact on the financial services industry than many other buzzwords. This opinion is backed by a study of McKinsey and PWC indicating that 72% of company leaders consider that AI will be the most competitive advantage of the future and that this technology will be the most disruptive force in the decades to come. Deep Lea...

The UPI Phenomenon: From Zero to 10 Billion

If there is one Indian innovation that has grabbed   global headlines , it is undoubtedly the instant payment system   UPI (Unified Payments Interface) . In August 2023, monthly UPI transactions exceeded an astounding 10 billion, marking a remarkable milestone for India’s payments ecosystem. No wonder that UPI has not only revolutionized transactions in India but has also gained international recognition for its remarkable growth. Launched in 2016 by the   National Payments Corporation of India (NPCI)   in collaboration with 21 member banks, UPI quickly became popular among consumers and businesses. In just a few years, it achieved   remarkable milestones : By August 2023, UPI recorded an unprecedented   10.58 billion transactions , with an impressive 50% year-on-year growth. This volume represented approximately   190 billion euros . In July 2023, the UPI network connected   473 different banks . UPI is projected to achieve a staggering   1 ...