 Hi everyone, this is Chris. I'm here with Dr. Matthias Winkenbach and welcome to the live event, the second live event for SC0X. You're in your bi-week now, week five, so you should be hopefully resting and you should have just turned in your week four graded assignment. And I believe your midterms starts next week at exactly this time. And remember for the midterms, as for all exams in these courses, you have one week to complete them. But as soon as you start, you have four hours to complete that one test. So during the bi-week, we thought it'd be good to kind of stop, take a breath and think about what we've done and then Matthias is going to talk through some examples of cases that he's done. Now, we want this to be interactive, so make sure you use Slido. Slido.com, go to that and the code is SC0X. And I have a poll up there now and and this is also the place where you can enter in questions. But the poll I have now is for you to put in one word that describes your experience in SC0X so far and we're making a word cloud out of that. So hopefully you can see how that looks just to make sure you know how to use the tool. You can also enter a question by clicking to the left. There's polls and questions and you can enter a question in and we'll start answering those. So I encourage you to enter the questions in fast now. You'll have a higher likelihood of having them answered. A lot of time you guys wait to the last 10 minutes to enter questions. We don't have time. So once the questions get entered, we'll throw those over to the open space and you can vote on those. You'll vote on which ones you want to have answered. So use those up or like votes. We don't have any down votes. So only positive here and pick the questions that you want to hear. All right, so you spent the last four weeks kind of doing a soup to nuts optimization class. You started off with classic optimization and some of you probably hadn't seen calculus for quite a while. But that was an unconstrained classical optimization where you find an extreme solution of min or max. It seems very theoretical, but you'll use this all the time in SC1X. All inventory theory minimizes the total cost function. Whenever you're minimizing something, you're using optimization. That's why we taught you that. Then you moved into constrained optimization. We started with linear programming, which is like the granddaddy of optimization that you use in practice and then introduced integer and binary variables for mixed integer linear programs. You'll use these extensively in SC2X and in other courses and in practice. In fact, what Matias is going to talk about is a lot of extensions and uses of those techniques. Once we finished with mixed integer linear programming, we went into a network optimization, which is a key thing, especially for transportation and logistics, where you have a network, whether it's transportation or it's a theoretical network of payments. How do you optimize that network? And we went through three different algorithms, shortest path, traveling salesman, and then vehicle routing. And we showed how those solutions are used and we introduced the idea of algorithms, because algorithms are embedded in all the software that you'll use throughout your career. And we finished up the four weeks with approximations, which kind of go in the opposite direction. So for these mixed integer linear programs and these large optimizations, you need a ton of data and you get very precise solutions. And then we showed you with approximations how with very, very little data can you make a decision. And so these are two tools that we want you to have in your tool belt. And so the idea of approximations are there so you can start with these and have a good idea of what the problem solution should be and it helps you stay within balance. So these are all valuable tools and I guarantee you'll use all the tools that we've taught you in these four weeks throughout the five SCX courses, as well as throughout your career. All right. And with that, I want to introduce Dr. Matias Winkenbach. He runs our Mega City Logistics Lab. He's been with us for three years. It seems so much longer, but what I want him to do is talk about two of the problems that he's faced, two of the projects, and you have to excuse him. He has a slight cold, so he has to speak up. Yeah, take it away, Matias. Thanks, Chris. Thanks for having me. And I hope you guys, despite my weird voice, can kind of understand me. So I was asked to talk a little bit about how we use mixed integer linear programming models in our research. And the first thing that I want to talk about is indeed the distribution network design problem specifically for urban markets. That's what my lab usually focuses on in its research. But the principles that we're going to talk about here are also applicable to other scopes, not only the urban scope. The work that I want to present here has been done, for example, with La Post, the French postal operator. We've recently completed a project with B2W Digital, which is one of the large e-commerce platforms in Latin America. And all of the different projects that we do in the realm of network design actually reside on the same kind of principles, same general design of the optimization models that we use to solve those problems. So what are we actually trying to answer with the models that we build when it comes to network design? The first level of decisions that we want to make is about facilities, right? Where do you locate certain distribution facilities? How many of them do you need? And how many layers of distribution facilities do you want to have? So, for instance, you could think of locations to position your warehouses or the big distribution centers and candidate locations for those would usually be somewhere in the outskirts of a city. But then, especially if you're talking about large congested urban areas, typically we see that it's beneficial to also have a second layer of consolidations or a second layer of facilities. We usually call them satellites. These are locations where typically only transshipment happens from larger vehicles to smaller vehicles. And from those points, then those smaller vehicles do the final delivery run to the final customer. So the first kind of decision that a network design problem tries to answer is how many facilities of which type do I need? Where do I optically locate them? And then the next level of decisions would be which parts of the market, which parts of the city should be served from where. So which facility has which service area? That's how we usually call this. And that service area in the simple case is something that is fixed. So you decide on that once and every day the company operates its route. That facility serves the same service area. You could make it more complicated and say, maybe there's different service areas per day or per shift. But in the most basic case, you just have one service area per facility. And then the next level of decisions is, for instance, a model choice. So if you have different delivery vehicles that you can choose from, you could have a 10-pillar truck, an 8-pillar truck, an electric vehicle, a van, a bicycle, or even a pedestrian. These are all basically vehicle options that you want to model. So you want to decide which part of a city, for instance, should be served from which facility using which kind of vehicle. And again, this is something that you would model as a part of the decision variables of your network design model, of your mixed integer linear programming model that you build to solve these problems. And you could make it arbitrarily complex. For instance, a lot of our project partners are interested in pickup solutions. So for instance, pick up from store solutions where customers aren't being delivered to their homes, but they actually go and pick up their order from a nearby store. Or you could elaborate on the model choice dimension and let people, for instance, decide or let the model decide which areas of a city to serve directly with your own fleet or by an outsourced service provider like Uber Rush, for instance. And then last but not least, you might also have some flexibility in the set of locations that the model decides on. You might, for instance, have a business like B2W in Brazil where you have a lot of variability in demand and where you want to have certain facilities only to be activated during, let's say, the peak periods of your demand. Whereas for the rest of the year, they would be closed down. We piloted that with them, basically integrated the option into a mixed integer linear program to open certain facilities only temporarily to give them that flexibility to cope with peak demand. For instance, around Black Friday and Christmas. But in the very basic case, the decisions that you want to make is facilities, where to locate them, how many to locate and which type of facilities you need, service areas, so which part of the city to serve from where, then model choice, which vehicle to choose to serve certain parts of the city. Now, the way we typically model this is surprised in mixed integer linear programming forms. So if you look at the decision variables that I mentioned earlier, you typically have a number of binary decision variables. So, for instance, for every type of facility, be it a warehouse or be a satellite, you have a set of candidate locations that you could use for such a facility. And the way you model that in a mixed integer linear program is you have a binary variable for each of those candidate locations. And if that binary variable turns one, that means, yes, the model chooses to activate a facility there. If it's zero, it chooses not to use that location. Similarly, if we talk about service areas, we typically tend to discretize the city. So, for instance, we cut it into zip codes for census tracks or maybe square kilometers. We often use what we call pixels. So these are square kilometers that we use to identify demand on that very high level of spatial resolution. And then basically for our modeling logic, that means we have a bunch of, again, binary variables that decide which pixel, so which area of demand to allocate to which facility. And then if you think of your vehicle choices, just to be basically discreet options that the model can choose from, you can again model this as a set of binary variables. And let's say if the binary variable for a 10-pillar truck turns one, that means that a specific pixel that is connected to a specific facility is, in this case, being served with a 10-pillar truck. And basically these are all the sets of decisions that the model has to take. And the optimization objective that we follow is usually a cost objective. So, for instance, you have to account for routing costs, for vehicle and equipment costs. You have to account for inventory costs, handling costs, all that kind of stuff. And obviously, there are also other objective functions that you could use. You could optimize to maximize market reach, to minimize emissions, to maximize responsiveness. So basically to limit the time that people have to wait for delivery. And you could also think of multi-objective optimization. But the most common case is you try to minimize cost. On the constraint side, typically you model... Can I ask a question before you go to constraints? It could be a chance to catch your breath a little bit. So I'm actually a little surprised. I know this project that you included inventory costs. Because for this, usually it's a distribution system and things move in the same day. How are you capturing that? And is it safety? Stoppers, is it just the dwell time of the inventory through the system? In most cases, it's just the dwell time. The cycle time is very okay. It gets a bit more complicated if you think about highly responsive delivery services where you need inventory at the satellite locations. And you basically have to optimize your inventory positions on a very large set of potential locations. But let's not go down this path for this session. In SC2X, if you guys take that, we go into some of these models and what we put in there is almost a performance guarantee in the constraints where you have to hit at least a X% within so many days, hours or whatever, or distance-based. So it's a way of not getting a cost in the objective function. So you tend, you try to cost it out the inventory for that. Okay. And then one last question. What's the rough size of a problem like this? In terms of especially decision variables, it sounds like there's quite a lot of binary variables. So for instance, we've applied this to cities like Sao Paulo where you, for instance, if you think about those little units of analysis, those pixels that I talked about, we have like 2,000 of those. You have hundreds of candid locations of facilities. You have maybe five or six different vehicle types. So you end up easily with something between two and three million decision variables. So that's definitely something that Excel Solver can't do anymore. All right. I talked about constraints a little bit. The most important ones here are obviously you have to respect vehicle capacity constraints and also the capacity constraints of your facilities because each facility, each vehicle is only equipped to handle a certain maximum amount of shipment sizes. So yeah, I'm holding out for more. So take a sip of water. Yeah, that's fine. Okay. Yeah. So I wanted to break down this big problem tool, basically smaller toy problems because at the end of the day, we're trying to model with this mixed integer linear program is what we call a location routing problem. So a problem that combines location decisions with routing decisions. And you can break that down into two sub-problems. The first one is the location allocation problem. So imagine you have a certain area of demand and in this graph here, you see in this chart here, you see those three Ds. These are your candidate locations for the facilities. We sometimes call them depots. And you see a bunch of customers to seize in this map. And basically the location allocation problem basically just lets the model decide which of the depot locations to activate and then which customers to allocate cost-optimally ideally to which depot. And this by itself can be formulated as a mixed integer linear programming model. The problem about these kind of problems is these are NP-hard. So basically as soon as you extend beyond this little toy problem that you see on this chart, it gets extremely hard to solve even with modern compute power. It's basically something if the problem instance grows, it gets increasingly like the computational time rises exponentially. The second sub-problem is the vehicle routing part. So let's assume you have decided which depot to open and which customers to allocate to a depot. Now it comes to the question, how do I optimally route a vehicle amongst those customers? And again, this is a problem you can easily formulate as a mixed integer linear programming model. But again, you have the problem, this is NP-hard. Now the problems that we typically deal with in the network design issue is we combine both problems and try to solve them simultaneously. So we decide on the locations, on the allocations and on the routing simultaneously. So you combine two NP-hard problems that gets even harder. So basically for real world problem instances, there's no way you could efficiently solve this. And that's where a lot of our research, for instance, comes into place in using approximation techniques to simplify this problem again. Because network design very often is a strategic decision. So you really don't care about the specific solutions of a particular vehicle route. You rather care about how those vehicle routes affect your choices when it comes to where to locate facilities for instance. So we use a technique called continuum approximation quite a bit that basically looks at the properties of demand, so how many customers do we have, how densely populated is the area, what's the drop size per customer. And we use that to approximate the cost of an optimal route. And that way we can kind of simplify the location routing problem back to a location allocation problem, which is still pretty hard to solve, but way easier than the integrated location. So you guys have seen both of these. You've just never seen these two techniques together. We've done mixed integer linear programming, kept it separate. And then we went to approximation. We actually did approximations of the traveling salesman problem, which is the same thing. So this cost function that is shown on the screen should look somewhat familiar to you, even though the notation's different. So all that he did was combine these two techniques together, but let me ask you a question. Even if we could computationally solve the routing problem exactly, let's say you could do that and solve it exactly, wouldn't you still want to use the approximation? In a way yes, because at the end of the day if you design a network strategically, as I said before, you're not looking for a network that is optimal for one particular realization of demand. You're looking for a network that is optimal on the expected level. So basically across all possible realizations of demand, you want this network to be designed in a way that you can most optimally serve, let's say the average demand scenario. And that's why it still has that square root of N times A relationship. So you have to, and there's been a lot of research, I don't know if we're gonna talk about finding that Kappa or that, so when we had that approximation, that K value that told you based on the topology what that network TSP would be, we just gave you a number. But Matias and a lot of his students are actually studying and trying to understand how to actually find that number in practice and does it change across the city. So everything that we showed you, it's actually being advanced further and applied in practice here. Great. All right, and that's basically in a nutshell what I wanted to show about distribution network design. The true models that go into like solving a network design problem for, let's say the scale of an entire mega city for real world operation is huge. That formulation would probably go over multiple pages here. I didn't wanna bore you with that, but I hope it gave you an interesting introduction to how it's usually being done. Great. All right, so let's, I put a poll up asking you your experience with linear programming because one thing we're trying to understand is how well you know this, and it seems the most common response is almost two thirds of you, you've learned about it prior, but you never applied it. That's, which is a sad thing because that means you never really learn it until you actually apply it. So hopefully you're learning something out of this by seeing how it can be applied. And what I wanna do next, we've had some questions and I'll give Matias a break and I'll answer some of the exam questions that he has nothing to do with, right? So the first is, can you tell us, from Christine wanted to know what will the midterm exam be like? It'll be, well, time-wise you have four hours to complete it. It'll cover everything in the first four weeks. It'll be comprehensive, but it should be nothing surprised that you haven't seen before. So everything is fair game from the first four weeks of the class. Let's see, there's some other ones in there. Then I'll ask you some questions particularly. Practice questions from Deb. Practice questions allow three attempts and grade assignments allow two for submitting answers. How many attempts will be allowed in the midterm exams? Attica, correct me if I'm wrong? It's two. You have two responses to get it correct. In the CFX, the comprehensive final exam at the very end, just so you're prepared, we don't tell you if it's right or wrong. That's not for this midterm, but later on we get progressively harder where we don't give you three attempts or two attempts, we just don't tell you if it's right or wrong. But for this midterm, the one you take next week, you get two attempts. All right, there was one other one on there. Jason asks, will milk calculation resources be provided for the exams or do we continue to use online ample? They can use ample, right? Yeah, so all the tools are there for you, anything that you use, that's fair game. The only thing you can't use is another person, right? So you can, if it's within your head or within the software, then it's okay. And the key concept document. All right, so here's a question that came in. Where'd it go? Vish Kay asked, said, Walmart is poised to buy 70% of Flipkart. You saw that, right? Yes, I saw that. Yeah, it's pretty interesting. And they're both partners in the MegaCity Lab. Yes, we know that. And they asked, Vish Kay is asking if they collaborated while working on this project slash lab. No, I mean, we worked with both of them independently. But typically, they are very concerned about not sharing any insights with their direct competitors. And before they got bought, they were still direct competitors. So no, we did not connect. You didn't bring them together? You didn't broker the deal between? No, but interestingly, some of the people that we worked with at Walmart used to be Flipkart employees before. So there was some fluctuation between the two, but not managed by us. There's so much, because there were then people who were at Walmart that are now at Amazon and Flipkart guys came from Amazon. So it's like just a little triumphant. It's a small world. It's a small world. Renan asks, if the problem is NP hard, do you work the solution until it's optimal or do you just run some approximation? How do you converge? Well, typically we run it until we get to us like a satisfactory gap. And with the approximations that we work with on the routing side, that usually at least converges to that acceptable gap within a couple of hours. Okay, another question from Vishkay that came in earlier. From the last mile data you've seen from around the world, which regions have the most complex or challenging networks? Do you have any examples? Typically the emerging markets. That's why we have a strong emphasis on work in that area. For instance, you have completely different road infrastructures there that might pose additional constraint to your mixed industrial linear programming model. For instance, in parts of India but also in parts of Latin America, we literally need to include constraints on which vehicle types can realistically access certain areas. For instance, if you're in Mexico City in one of the favelas there, you really don't wanna go there with a 10 pallet truck because it's gonna get stuck. Similarly, we sometimes have to model risk, for instance, for B2W in Sao Paulo, we had to model robbery risk as a risky as part of our model, as part of the constraints because we needed to minimize the value at risk, the ship load of electronics. So if you send a big truck full of electronics into a risky area, the expected cost of losing that stuff to robbery is just too high. So it's kind of fun to think about this, but you have to find the necessary data to inform constraints that you then impose on the model and the model would then actually make the same decisions as you would do as a human, mainly send smaller, seemingly less efficient but less prone to robbery kind of vehicles to those risky areas. Okay, a question from Cassenia. What software do you use for the routing problems? Actually for the whole optimization. We don't use any off-the-shelf software, we just use Python as the scripting language to basically formulate all these models and then we use Garobi as kind of the commercial solver engine to solve those large problems. Use Garobi, not C-Plex, is there a reason? Mostly there's two reasons. One is that Garobi integrates more seamlessly with Python. Okay. So it has a better API basically and secondly, Garobi tends to perform better when you have machines that have a large number of cores. So it reduces runtime language. Okay. Lisa asked a question, what tools are you using for your data gathering and modeling? Do you use any tools there or is that? Well, for the gathering, we often rely on data that is provided by the company that we work with. We work with publicly available data like OpenStreetMaps and for instance, Google API. The publicly available data we usually query from within Python using APIs that are available to those databases. And then to basically structure the data, to clean it and to store it, we work mostly in Python and then sometimes use for instance, MySQL or PostgreSQL to store the data efficiently. Okay. One last question that'll serve as a bridge to the next case. Ruhi asks, how do you think new age innovations like drones for last mile deliveries will impact supply chains and decisions? Holy moly. That's a big question. I mean, they might have a big impact. Drones in particular are being discussed very vividly, especially for urban delivery, which makes actually the least sense, but especially Amazon for instance, with their beautiful little videos have triggered quite some discussion around the use of drones for large scale deployment of delivery services. Well, we don't really are that optimistic with regards to the use of drones in urban settings, but we do kind of think that drones might play a role in combination with other vehicle types. So while we currently mostly model single vehicle type operations, so you deliver using only one kind of vehicle, drones might actually be used in a combined way to basically put them on a truck that then moves through the city as a mobile depot and the drones just do the final mile delivery. And that might have some impact on how we need to model these systems and it might also affect the efficiency of those systems overall. So it might have actually big impacts on the network design that you need. So the facility network that you need to support such services. Okay, so do you want to start talking about your second case? Yes, that's actually the perfect. That was my entree. Perfect, all right. So yeah, we already talked about it. Drones are basically discussed a lot lately and so is other forms of autonomous technology, but in this case, we wanted to focus on drones. And as I mentioned before, our working hypothesis for the use of drones and urban delivery is, there's not gonna be a pure play drone solution because if you think about, for instance, all the e-commerce shipments that go into Manhattan every day on the typical UPS, FedEx, DHL, whatever trucks, if you would replace all of these volumes by drone deliveries, you would have tens of thousands of drones flying through Manhattan every day, every point of the day. And that is obviously not desirable because it's probably not any better in terms of noise and accidents and whatever as the vehicle traffic that we see right now. But it's also a huge technological challenge because if you have tens of thousands of simultaneous drone operations, you need to find a way of coordinating those movements. So you need to find either ways of those drones talking to each other. So you need some sort of industry standard which is not really there yet. Or you need like a centralized air traffic control that's also not likely to happen. So it's just unrealistic to see basically drones delivering individual shipments from somewhere outside of the city into that urban market. But what we do see is in a couple of OEMs, on this slide you actually see a study proposed by Daimler Vance, a couple of OEMs presented studies where they wanted to put drones on top of traditional delivery vehicles. And that could combine the best of both worlds, right? The terrestrial vehicles have the benefit of carrying a lot of packages. So you can consolidate a lot of shipments into one vehicle. And the drones basically make it possible that terrestrial vehicle no longer has to stop anywhere. If you think about how much time is spent on urban delivery routes, most of that goes into finding parking, for instance. A large contribution to urban congestion is commercial vehicles finding parking or not finding parking. What percentage do you think that is in the city? I have no idea of that. I read a study that says about 30 to 40% of the congestion that is caused by commercial vehicle traffic is just because they can't find parking. So it's significant. And also in terms of emissions, for instance, commercial vehicle fleets tend to be a major contributor to urban emissions, and finding parking creates a lot of unnecessary miles traveled and so on and so forth. So the idea is let's combine those two systems, let's put some drones on the truck and let's route them simultaneously. And with our research, we try to basically build a mathematical model that would be able to form those optimal combined routes. So in a way, with this model that we built, we were going to be able to decide on the which circumstances is it optimal to just send drones from a central location to the customers? That's the left case on this slide. When is it optimal to send drones to some customers and trucks to others? And then on the right case, that's the most interesting case. When is it optimal to put drones on a truck and send the truck and basically dispatch the drones from the truck? So that's the one that we're going to focus on here. And this problem can actually be formulated as a mixed integer linear programming model. Don't worry, I'm not going to go through every single formula here, it's just- This won't be on the midterm? No, no. I don't know. It won't be, don't worry, relax. I think we just had a huge number of dropouts. But just to illustrate how this could look like. So in this mixed integer programming that you see here, you obviously have an optimization objective function. And in this case, we're actually minimizing for customer wait time, which is a little bit different from the cost objective we had earlier. Then you have a lot of constraints that just make sure that you create feasible routes for both the trucks and the drones and that connect those routes with each other. Because for instance, if a drone leaves the truck, it can only do so at a location where the truck actually is. Sounds trivial, but you have to actually formulate a constraint that ensures that. Similarly, if the drone returns to the truck, the rendezvous location has to be a location where the truck is actually waiting. So all this kind of stuff needs to be ensured and you do that by formulating a large number of constraints that make this model respect basically the laws of physics. Then you have to make sure that arrival times and departure times of all those vehicles are captured appropriately. Because at the end of the day, what you are looking for in this case is you wanna minimize the time individual customers wait for their deliveries. So you need to keep track of when a delivery is being made, when a truck departs from a certain customer, when it arrives at the next customer, when the drone departs from the truck, when it arrives at the customer, when it returns to the truck. All of this needs to be consistent and that's what we need another set of constraints for. And similarly, you have to make sure that all those routes that you're constructing actually make sense. So for instance, very simple example is a truck can only depart from a depot once or a truck that arrives at a customer needs to leave that customer again or the sequence of customers that are being visited has to make sense. So you cannot basically form what we call sub tours. So where a truck visits customers with deliveries that he never picked up at the depot, for instance. And so you see this is becoming a huge problem with a lot of integer variables, a lot of also non-integer variables. But the sheer complexity of this model leads to the problem that if we deal with problems of more than 10 customer nodes, for instance, it just takes forever to solve. And in this case, instead of using approximation techniques, we use heuristics. So this is basically a general overview of the heuristic framework that we are using for this problem. We start with a very simple basic initial solution. So we basically take all the customers and we first all just route the truck as if they were no drones. And we apply an elliptical customer assignment heuristic and I'm gonna show you in a bit what that means to allocate some of these customer visits to the drones and make sure that this is like a feasible initial solution that combines both truck and drone deliveries. And then the interesting part begins. So the stuff that shows on our orange on this slide, that's where we use what's called basically an adaptive large neighborhood search. So we have a bunch of heuristics. So basically operators that we apply on a given solution. And let's say we for instance, shift the sequence off to customers and see whether it still makes sense and whether the customer solution might have improved or we take a customer that has so far been served by a truck, we take it out of the truck route and we assign it to a drone. And we see whether this is still a feasible solution and whether this feasible solution is still better than what we have before. And we do this over and over again and we have a set of a total of I think eight or nine different heuristics. And we just randomly use them and we keep track of how successful they were. And by keeping track of how successful they were, we assign weights to them. So the successful heuristics over time become more likely of being used again because apparently for this particular problem, they seem to have something in them that makes them particularly suitable to improve the solution to that problem. So we go through this huge cycle here until we either hit an iteration limit. So let's say we say we run this whole circle a thousand times and then we stop or until we know that we are close enough to the presumed optimal solution and then we just close the same thing. To illustrate this a little bit further on the very left side, you see like this very initial solution where all the customers are being served by a truck. Then one step further to the right, you see what I call the elliptical assignment heuristic. We basically fit an elliptical shape to the customers and we rank the customers by how far they are away from that elliptical shape. And the furthest away customers are those that we assign first to being served by a drone. And basically going through this and making sure every customer assignment is still creating a feasible solution, we get to the third thing that you see on the slide which is our initial solution for a combined truck and drone delivery. And then we use this set of heuristics that I mentioned before in an adaptive way to further improve that solution that you see in the third column. And then, I mean, this would fill an entire lecture to explain all those heuristics, but that's the general idea how we take a drone that's too complex to solve with mixed integer linear programming in real world instances and use heuristics to solve it instead. Yeah, so looking for a couple of questions that were very similar, they're asking about solving NP-hard problems. Yeah, here they are. Both Nelson and Hubert pretty much asked, so there's a limitation in technology to solve NP-hard problems. Is there some challenge with that? Let me answer and then you can correct me, Matthias. Anytime you have integers, especially binary variables in a large problem, you rarely solve them to optimality. You solve them to a limit. You have an integrality gap. And you try to get as close as you can to whatever that boundary is. But in real life, integer programs are rare. They don't get solved to optimality. They get solved within a certain bound. Unless it's very small problem. Very small toy problem, yeah. So, Ram asked, is there a different approach for routing if the customer location is moving, such as cruise ships? That would be a very different approach, yes. I'm trying to think, because if you're trying to replenish cruise ships, I would think I'd be planning on the ports rather than replenishing in-air. I mean, we have a similar application that we just started working on where you have the idea of having a delivery truck moving and you replenish the delivery truck with a drone over time. And then the question is, do you know in advance when the truck will be where? Because then it's still a bit of a mystic problem. You still know, basically, when a drone needs to meet the truck at which specific location. And that could potentially be still modeled as a mixed integer linear programming model. I'm not sure, but I'm confident. It gets more tricky if you don't know exactly when the truck will be where. So for instance, you have traffic uncertainty. You don't really know the exact trajectory that the truck is gonna take and when it's gonna be where. And that's gonna then become a stochastic problem and that's gonna be very hard to solve with this kind of approach. So there we rather use, for instance, simulation approaches to derive some insights on the performance of these systems. So for a shot, I asked, have we ever tried metayuristics? And what were the results of the pros or cons? Not in this context. In the earlier problem either, right? You don't, yeah. Okay. Have you used them in practice? Have you used them in any other problems? I'm not as- Can't recall, I don't know. Okay. So one person asked the question, thanks for the courses. This is Julian, took SC1X. How can we get involved in these models or how can we involve in these models or include in these models environmental factors? Whether or traffic? Okay, so environmental influence factors. Yes, yes. So for instance, we just completed a project on the network design side where we looked at stochastic network designs. So where you are dealing with some sort of uncertainty, we looked at uncertainty related to the demand side. So who's ordering what and how much and when. But you could use a similar approach to capture weather. So for instance, you could capture the impact of weather, for instance, on delivery times. Maybe your delivery operations take longer on the certain weather conditions. Or you could look at the impact of traffic uncertainty on travel times. And you could use a stochastic optimization approach to capture the impact of those uncertainties onto your network design. That makes the problems that we're dealing with even larger because in a deterministic case, you basically only solve these problems for one particular instance, like average, the average scenario, the average state of the world, basically. In a stochastic setting, you try to optimize over a large set of potential scenarios. And that's again where you're usually, because it gets intracable for real-world problem instances, you use approximation techniques to simplify those stochastic models. We use a technique that is called sample average approximation. There's other techniques out there, but that would probably go beyond the scope of the scene. So the model that we showed before in your first case, that's more strategic. And that will be run maybe annually, right? How about this model? Is this a daily or a tactical? Is this determining which things... Is this setting up long-term routes or is it used every day? We are currently rather using it still for strategic decisions because we want to understand, like under which circumstances, which operational setup is the optimal choice. So if I have a certain neighborhood with certain properties of demand, infrastructure and the like, should I go there with a traditional delivery model with my van? Should I go there with a truck and drone combined system? Should I only go by drone? This kind of stuff. On an operational level, you obviously need solutions to these problems fast. So you might want to cut some corners and probably come up with less optimal solutions, but solutions that are just easier to compute. But there's less uncertainty when you get down to operational, right? And you sure you'll have traffic, but the demand you assume, if you're planning for it, it's happened. Yes. There's no demand uncertainty at that point. Not really, unless we have talked about dynamic roading problems, but yeah. But even then, you'd know if the truck was going to be loaded. You know if it's loaded, that demand is going to materialize. Okay, Jason has a question. Neither emerging markets or modern cities are optimized for distribution, unfortunately. How much of a factor would distribution have on the design of a new city? Here we go, on Mars. On Mars? Oh, it was once at a workshop in China where they actually built new neighborhoods of Shenzhen. And they asked the same question on Earth, luckily. On Earth? So stay with Earth then. We don't need to go to Mars then. So you would, for instance, try to optimize just the road infrastructure for specific spaces for freight. Typically the road infrastructure that we operate on, be it in emerging markets or in industrialized markets, has not been designed for the amount of urban freight that we see today. Some European cities, the road network literally was designed when we were still riding around with horses and carriages. And it's very hard to expand this infrastructure now because of all the built infrastructure, built structure around it. So if we could design something from scratch, we would obviously probably build a completely, like a completely grid based road network. Like we see it in less old cities like some cities in the US have that grid structure because it's just a very optimal way of providing mobility to a city. And since they were not built that long ago, they had the ability to take that into account. But for instance, one important thing for freight operations and to make them more efficient is having sufficient parking or like loading and unloading spaces in a city for freight operations. And they need to be optimally located. This is actually optimization problem in itself, figuring out how many of those spaces you need because you don't want to have too many because this is precious downtown space. But you also want to have enough to serve all the retail establishments in an urban area, for instance. And then the question is where do you locate them optimally? Ideally, you want to minimize the distance to where demand actually happens. And this kind of planning requires us to come into the picture with our modeling again to help, for instance, city planners make better decisions based on urban freight data that they have or that we collect. Ebert has a question. Is it feasible to invest in these advanced technologies, drones, and whatnot for last mile delivery in developing countries? Do you see this what you've described as more a developing country or a developed country or something in between? So the drone-based systems, at least for delivery to individuals, is probably not going to happen in emerging markets anytime soon because of constraints like safety, for instance. If you were to do this in certain parts of Sao Paulo, for instance, that drone will probably not come back. So you want to test this, especially at the early stages of technology, in well-developed areas and in relatively safe areas. That doesn't say that technology won't advance further, so we will eventually see this in other places, too. But it's not going to start in the emerging markets, I think. So Nelson had a question about this. It's interesting, but in the opposite way, how do you see a drone fleet helping delivery times and costs in areas that are more remote? And he mentioned the Atacamp Desert to support mining operations. Yeah, I mean, I'm not so sure about mining operations. Yeah, because those don't have lightweight things. Yeah, usually weight is the biggest concern of drones. But for instance, DHL in Europe made most of their drone-based pilots not in an urban setting, but in rural settings. For instance, supply, medical supplies to some places in the German Alps or in the mountains or to go and deliver packages to some remote little islands in front of the coast. And that's where it's like drone operations are more straightforward to implement because there's less constraints. There's fewer people, fewer competing traffic, fewer things to run into. So it's easy on a technological side to implement this. And also, you gain more compared to vehicle-based operations because drones can fly on a straight line distance. They're not tied to existing infrastructure. They don't really care about changes in altitude that much. So that's where they have their big benefits and where they're also actively used already. For instance, in Africa, we see a couple of already existing operations of emergency relief deliveries with drones or maybe the delivery of blood supplies or any other supplies for hospitals that would otherwise be hard to deliver on a road infrastructure layer. OK, so we have a bunch of random questions and I'll start from the most popular ones. Ashok asked, how is Amazon so successful? Is it better supply chain strategies? So I'll respond and then you can correct me. They're exceptionally successful and profitable in their web services. And in my opinion, it's subsidizing a lot of their other operations, but they're always looking to the cutting edge things. It's amazing what they've gone into for the echoes or the voice smart home computer. I guess they're calling them now. Smart speakers, I think they're very aggressive in what they're doing, especially in the United States, taking over some of the transportation legs. And they've been very successful in being very innovative. We have a lot of friends and colleagues who work there and work there now. And it's amazing what they can do. But I think their profitability right now is still pretty much buoyed by the web services. What have you seen? Same thing, but one interesting thing is, for instance, you mentioned the smart home initiatives that might eventually have an impact on their delivery operations actually. Because if you think about things like same day delivery, time window delivery, delivery operations, especially in urban settings, get more and more constrained by the customer, by us. So it gets more and more costly for people like Amazon or UPS or whoever to actually deliver to you at the point in time where you want to get that shipment. Now, if you have smart home technology that might enable, at some point, unattended in home delivery, basically the Amazon guy being able to enter your home, drop off your package and leave again without you being home. And I think they're already piloting this in some areas. And that takes away some of the constraints. It basically literally removes some of the variables in the mixed integer programs that you have to solve. Makes the problem easier, allows them to consolidate shipments better and therefore to become more cost effective. So maybe that is one of the keys for them to become more profitable also on the logistics side of things. Interesting company, interesting company. So Renato asked, I work in the service industry and would like to know if the courses that we have, if we cover examples about supplying services, professionals and technologies. So everything that Matias talked about is actually optimization of a service industry or transportation. And so we talk about it in some degree. And so we'll talk about it more in other courses, SC2X, 3X and 4X. We talk about some other applications. But in generally everything we talk about is logistics services or supply chain, which is a service industry. But I guess I would need some more examples to know exactly what you mean by this. But we do try to cover this more because one of the things that's happened over the last five or 10 years is there's been a serviceization of products. It used to be, if you had a product with a service, you don't include the service to be able to sell the product. And now it's just the opposite. And the best example of this is recorded music. So you see, we used to buy CDs and albums. Did you buy eight tracks? You're too young for eight tracks. I had cassettes, I had albums and now people tend to stream. In fact, last year was the first year that streaming revenue outpaced either digital or download or physical copies for recorded music. So people are renting it more. So this whole service side of things. And that's happening in a lot of other industries. Think about mobility as well, zip cars and things like that. So yes, we talk about it somewhat indirectly and we probably spend the most time on it in SC4X, just in case you were looking for that. All right, Leonardo is asking, do we have access to the model of robbery risk from the problem in Sumpolo? Is that published yet? No, we didn't publish that particular part. But if he has questions, I can point him to some sources of data if he wants. Okay, so we can try and get something with you for that. John Hull is, I'm just going down the popularity one. So if you guys want to hear a question and you see it on there, upvote it. And I'll work it that way. What's the major difference between a value chain and a supply chain and how do you optimize agriculture supply chain as it's a perishable product? You want to take the first one? Just between a supply chain and a value chain? To me, it's a word. They mean the same things. I think a consultancy- You create value along the supply chain. It's a different way. I would say the supply chain concept is a little bit more tied to the physical process versus the value chain rather looks at the business process. But essentially it's covering the same thing. I'll go with that. And I'll answer the second one. How do you optimize the agricultural supply chain with a perishable product? Neither of the models that Matias talked about really worry about that because they're kind of like real-time delivery. But you can include that. There's a whole literature on how to include perishability and inventory. And so it's just a way of thinking of its lifespan. And so you can only have your inventory stay in stock for so long. And so we actually did a really interesting project for a candy maker to try to understand as they make, if anyone's in the chocolate industry, they make big blocks of chocolate that they can keep for months at a certain temperature. And then they have to decide when they want to release that. And it was all about the perishability of the chocolate when you wanted to allocate which one went to which customer. So there's a lot of models and we'll talk about it a little bit in SC1X when we talk about perishable items. But it's mainly an inventory issue of how much you want to stock and where you want to stock and making sure that you have high velocity or speed through your supply chain. All right, so next one. Here we go. What are some real-world considerations or constraints that are used in network design when dealing with third-party distribution companies such as XPO? Well, basically when we model these options in our network design optimization models we first of all have to understand the cost structure behind those services. Or the cost structure of sending your own truck to deliver is quite different from what you usually pay a service provider to do it for you. So that's basically usually the biggest challenge for us to come up with reasonable parameter values for that cost structure. You have certain fixed costs, you have certain variable costs, you have certain costs that depend on the miles travel to time spend, the drops made, and all of that has to be informed to be able to accurately depict those cost structures. In terms of constraints, you sometimes have, for instance, we're just working on a project where we're having multiple service providers who actually do the transportation to the final customer for the company that we're working with. And those different service providers are basically have an exclusive right to serve certain areas of the city. So those exclusivity constraints you kind of have to model, obviously. But other than that, having a third party do it or yourself do it is modeling wise, not that different. No, it's at different costs. Yeah. Nelson asks, will these slides be available? Sure, so we'll send these out, not a problem. So what about the Daniel asks, what about the actual weight of the package? Is that included in your model as a constraint? Not all packages can be delivered by a drone, right? Yes, that's actually interesting one. So for instance, for the drone, truck-drone delivery model, yes, we do have weight as a constraint. So we basically have those customer nodes, these are basically each node is one delivery. And if we know that it exceeds a certain weight, we know that we cannot assign this one to a drone. It can only be served by the van. That can be modeled, yes. In the network design part, we also capture weight because if you think of vehicle capacities, typically the more strict capacity constraint is on the size of packages. But you could also capture the weight of packages and make sure that none of the vehicles gets overloaded, for instance. Viviana asks, have you found some typical patterns of last mile distribution according to the region in which the study is being conducted? Do you see geographical regional differences? A little bit, but it's mostly tied to the fact that for instance, in many emerging market cities, exhibit higher levels of urban density. And usually the denser and urban center is more likely it is to benefit from a multi-tiered distribution approach to have satellites close to the downtown area and to really use that concept of transshipment to smaller vehicles or even pedestrian deliveries in those heavily congested dense urban areas. So is it safe to say, Matias, that there's more similarities between cities that of the same density regardless of their regions? So it's not like all Europe is similar in Latin America, it's denser cities act the same. Yeah. It's the characteristics. Actually, the characteristics of density is one of the most important ones is actually the key definition of how a network would be designed for it. When you talk about density, is it density of stores or density of consumers? Because it's an evolving field right now, whether you deliver to a store and they come or you deliver to their home. That depends a little bit on what your business is, right? So if you are sending, like if you are Amazon and you send packages to consumers, you care about population density mostly. You probably care about retail density if you think about click and collect concepts at all stores. But for instance, we also work with companies that do not serve the final consumer but that serve retail outlets. And so for instance, the company like Coca-Cola or whoever who delivers Coke both in cities in the US and in cities in Latin America, well, they might use a completely different distribution strategy here compared to Latin America because in Latin America, you have a lot of those small, really tiny single owner operated retail outlets that we typically call nanostores. You have a lot of them. So there's a lot of retail density but each individual shipment, each individual store is relatively small and that calls for a different network architecture than if you just supply an entire truckload to Whole Foods or a Walmart or whatever around the corner here. Okay, we have just time for one and two more questions. For a shot, ask the question.