1 00:00:00,590 --> 00:00:10,010 This example is going to talk about the multi objective decision making, and we are about to find out 2 00:00:10,340 --> 00:00:17,990 the Parata optimal front so far, the examples that we have analyzed with each other and are all referring 3 00:00:17,990 --> 00:00:19,170 to a single objective. 4 00:00:19,190 --> 00:00:27,740 So we had one objective function that we wanted to minimize it or maximize it and find out the optimal 5 00:00:27,740 --> 00:00:29,570 decisions, variables. 6 00:00:30,050 --> 00:00:41,180 And as you can see on this plot and suppose we want to maximize to different objective functions simultaneously. 7 00:00:41,720 --> 00:00:46,940 And, um, there are some solutions found, um, as you can see on this graph. 8 00:00:47,750 --> 00:00:53,960 So if I show you another solution on this space, the blue one. 9 00:00:54,350 --> 00:00:55,380 The dark blue one. 10 00:00:55,550 --> 00:01:00,710 So if I look at these these solutions, there are five solutions you can see here. 11 00:01:00,710 --> 00:01:14,810 Now, um, if I want to compare these solutions together, I can say that these this solution is better 12 00:01:14,810 --> 00:01:25,130 than the dark one because it's it is better than the dark one in terms of if or if one or two. 13 00:01:25,820 --> 00:01:28,450 And it has a solution in every aspect. 14 00:01:28,520 --> 00:01:37,760 OK, and also the white one, the white one is has has bigger or if one or two but the green one has 15 00:01:37,760 --> 00:01:40,890 a bigger of two but smaller one. 16 00:01:41,480 --> 00:01:49,920 So I can say that the solution can be dominated by this blue one and the white one. 17 00:01:49,940 --> 00:01:58,220 So if there is any solution that can dominate this guy, then we have to eliminate that and other solution. 18 00:01:58,230 --> 00:01:59,040 Consider this one. 19 00:01:59,630 --> 00:02:06,320 Now, if I want to compare the red one and the orange one, which one is dominating one? 20 00:02:07,370 --> 00:02:08,540 The red one. 21 00:02:08,570 --> 00:02:11,720 The red one is dominating the orange one. 22 00:02:11,840 --> 00:02:18,250 OK, so now I hope you understand the meaning of, uh, domination. 23 00:02:18,560 --> 00:02:28,040 So if I ignore these two new solutions that I showed you and just look at these for these solutions 24 00:02:28,040 --> 00:02:30,800 are not better than each other in every aspect. 25 00:02:31,160 --> 00:02:35,970 So if I improve one objective function, I'm deteriorating the other one. 26 00:02:36,380 --> 00:02:42,680 So the question is, how can I if I have a problem with two different objective functions, how can 27 00:02:42,680 --> 00:02:45,400 I find out these optimal solution? 28 00:02:45,410 --> 00:02:54,410 So but before I proceed to the coding and everything else, I want to ask you, why do we need multi 29 00:02:54,420 --> 00:02:56,240 objective optimizations? 30 00:02:58,380 --> 00:03:09,770 So can we combine the objective functions and then solve the augmented one in one shots, for example? 31 00:03:09,780 --> 00:03:11,170 Let me give you another example. 32 00:03:11,460 --> 00:03:14,550 So you want to build, um. 33 00:03:15,470 --> 00:03:22,120 Production plant, and there are some costs associated with that construction. 34 00:03:22,340 --> 00:03:23,580 There are some operating costs. 35 00:03:23,600 --> 00:03:24,940 There are some investment costs. 36 00:03:24,950 --> 00:03:33,800 So you can easily do the summation and then ask your decision making tool to find out the best decision 37 00:03:33,800 --> 00:03:34,220 for you. 38 00:03:34,250 --> 00:03:40,760 OK, um, but sometimes the objective functions cannot be added together. 39 00:03:41,890 --> 00:03:48,520 They are from different dimensions, for example, one of them is environmental, for example, pollutions, 40 00:03:49,240 --> 00:03:50,780 and the other one is cost. 41 00:03:51,520 --> 00:03:56,190 Some people say that the environmental aspects can be translated into cars. 42 00:03:57,010 --> 00:03:59,320 Sometimes it's true, sometimes it's not. 43 00:04:00,700 --> 00:04:06,730 Or there are some other aspects, for example, the beauty of something and the cost of something, 44 00:04:06,760 --> 00:04:15,490 you know, so these two cannot be added together because the dimensions are different or sometimes these 45 00:04:15,490 --> 00:04:16,360 are costs. 46 00:04:16,540 --> 00:04:24,430 But both are most of the objective functions are costs or benefits or whatever financial. 47 00:04:25,150 --> 00:04:30,470 But and the size of each is completely different with the other one. 48 00:04:30,880 --> 00:04:34,900 So the order of magnitude is not at the same level. 49 00:04:34,900 --> 00:04:43,660 So optimizing one of them is not putting any effect on the other one, you know, and sometimes the 50 00:04:43,660 --> 00:04:45,320 objective functions are the same. 51 00:04:45,340 --> 00:04:50,440 For example, they are both cost, but two different people are going to pay them, so. 52 00:04:51,510 --> 00:04:58,830 Adding them together and minimizing the total cost is not always beneficial for both. 53 00:04:59,190 --> 00:05:07,260 OK, so we have to find out some set of solutions, some set of non dominated solutions and give them 54 00:05:07,260 --> 00:05:10,640 to the decision maker and ask them to choose. 55 00:05:10,920 --> 00:05:12,090 And there is another thing. 56 00:05:12,300 --> 00:05:20,970 If we go with the weightism approach and add the different objective functions using different weights. 57 00:05:22,150 --> 00:05:25,060 Then we will find out. 58 00:05:25,420 --> 00:05:31,660 Uh, just one, um, objective function and, uh, one set of decision variables. 59 00:05:31,910 --> 00:05:36,370 OK, and what happens if that weighting factors change? 60 00:05:38,140 --> 00:05:45,310 So we have to run the optimization again, OK, but now we want to find out the set of solutions, as 61 00:05:45,310 --> 00:05:55,330 you can see here, those that are connected with dashed lines and in a way that if you're waiting for 62 00:05:55,510 --> 00:05:56,890 your change, you can change. 63 00:05:56,890 --> 00:05:59,640 Your solution is not needed to run the program again. 64 00:06:00,130 --> 00:06:07,600 And also, you can see that if you move toward any of those objective functions, what will happen to 65 00:06:07,600 --> 00:06:08,340 the other one? 66 00:06:09,340 --> 00:06:17,950 So if I am at the Orange Solution, if I want to go to the blue one, for example, improve it in terms 67 00:06:17,950 --> 00:06:24,440 of two, I want to increase the have to this is how much I will lose in terms of one. 68 00:06:24,550 --> 00:06:29,770 OK, so for simplicity, consider this very easy example. 69 00:06:29,980 --> 00:06:34,570 There are two constraints, or if one is something or if two is something else. 70 00:06:34,930 --> 00:06:42,340 And the range of variation for X1 and X2 are also a specified. 71 00:06:43,270 --> 00:06:50,230 OK, so let's have a look at the Python code, I import the required packages. 72 00:06:50,230 --> 00:06:56,800 Sometimes some of these packages are not really necessary, but there is no harm if you keep them right 73 00:06:56,820 --> 00:07:01,360 there, because maybe you need them in there during your coding. 74 00:07:01,960 --> 00:07:04,060 So am I. 75 00:07:04,060 --> 00:07:10,270 Specify the bounds of X1 or next to you can see here they are both non-negative real's. 76 00:07:10,690 --> 00:07:13,780 And also there are two objective functions. 77 00:07:13,780 --> 00:07:16,180 Or if one or two, they are defined as variables. 78 00:07:16,810 --> 00:07:21,880 And also equation one is something. 79 00:07:21,880 --> 00:07:24,280 Equation two, I will explain it later on. 80 00:07:24,280 --> 00:07:26,820 A question three is the other equation. 81 00:07:27,100 --> 00:07:28,780 So what is equation two. 82 00:07:28,780 --> 00:07:38,800 Equation two is and telling us that or if two is less than something, OK. 83 00:07:40,360 --> 00:07:47,290 So in order to solve that problem, just let me show you something else on the slides and then come 84 00:07:47,290 --> 00:07:48,900 back to the points. 85 00:07:49,150 --> 00:07:58,750 So if if you look at this graph and if I want to, for example, maximize the F one, what will happen? 86 00:07:58,780 --> 00:08:01,460 What is the obvious solution for that? 87 00:08:01,480 --> 00:08:02,830 The obvious solution is here. 88 00:08:02,860 --> 00:08:11,530 OK, but and every time you just maximize the fun, which is the capability of the promo package, you 89 00:08:11,530 --> 00:08:15,580 can only maximize or minimize the one objective function, OK, at the time. 90 00:08:16,090 --> 00:08:20,150 And if you want to maximize or F1, this is a solution that you will get. 91 00:08:20,200 --> 00:08:28,810 OK, but in order to be able to not into not trapping here, we add another constraint for o f two I 92 00:08:28,810 --> 00:08:33,580 can say or two should be and bigger than something. 93 00:08:33,920 --> 00:08:34,330 Hmm. 94 00:08:35,140 --> 00:08:38,490 Or smaller than something and then solve the problem. 95 00:08:38,500 --> 00:08:45,490 So I change that limit for off to and then try to optimize the other one. 96 00:08:46,180 --> 00:08:52,630 I could do it for the other objective function, the o f one and I could say OK, the minimum value 97 00:08:52,660 --> 00:08:56,410 or F one or a maximum value of OIF one is something. 98 00:08:56,560 --> 00:09:01,330 Now optimize the other um objective function. 99 00:09:01,480 --> 00:09:04,530 But how can I write it down in a pile. 100 00:09:05,440 --> 00:09:08,500 So this is the concern I was talking about. 101 00:09:08,500 --> 00:09:15,210 So I will limit the off to less than something and I will change that limit. 102 00:09:15,640 --> 00:09:19,690 OK iteratively and ask the panel to solve it. 103 00:09:19,720 --> 00:09:22,150 So as you can see here, this is strange. 104 00:09:22,450 --> 00:09:28,990 I do have more than one objective function that's fine in the definition phase, but when I want to 105 00:09:28,990 --> 00:09:31,990 solve that, I have to deactivate one of them. 106 00:09:32,230 --> 00:09:39,460 OK, so I put a limit for or of two and I deactivate objective two. 107 00:09:39,700 --> 00:09:42,340 OK, pay full attention here. 108 00:09:42,700 --> 00:09:46,410 And then I asked the Palomo to solve it. 109 00:09:46,720 --> 00:09:50,340 So what objective is being optimized. 110 00:09:50,350 --> 00:09:54,700 This is the active objective, the objective one which is o f one. 111 00:09:55,540 --> 00:09:59,650 So it is solved in this way. 112 00:10:00,970 --> 00:10:05,970 The maximum value of of one is found, OK? 113 00:10:07,190 --> 00:10:09,470 And how much is the Absolon at the beginning? 114 00:10:09,650 --> 00:10:10,910 It's a very big number. 115 00:10:11,200 --> 00:10:19,220 See, so actually there is no limit happening here, but and next time I will deactivate objective one 116 00:10:19,220 --> 00:10:21,850 and keep the objective to activate it. 117 00:10:22,370 --> 00:10:22,590 Hmm. 118 00:10:23,150 --> 00:10:25,310 And then resolve the problem again. 119 00:10:25,340 --> 00:10:27,140 So look at the objective functions. 120 00:10:27,410 --> 00:10:34,580 The first time, the objective function one is its maximum value, second time objective function two 121 00:10:34,580 --> 00:10:36,920 is has its maximum value. 122 00:10:36,950 --> 00:10:42,350 OK, so the range of that Parata optimal is found. 123 00:10:42,690 --> 00:10:42,990 Hmm. 124 00:10:43,970 --> 00:10:46,190 And the X1 annexure are found. 125 00:10:47,280 --> 00:10:49,330 But how should I continue? 126 00:10:49,380 --> 00:10:53,680 I have to do something about the debt limit. 127 00:10:53,700 --> 00:10:55,650 I already specified that the Epsilon. 128 00:10:55,680 --> 00:11:03,270 OK, so if I am talking about the oath to I should look at the valuation ratio of two. 129 00:11:03,290 --> 00:11:07,610 It is changing between zero point two to nine point fifty eight. 130 00:11:08,010 --> 00:11:17,700 So I can say and it can start from this quantity and go down up to here and then try to optimize the 131 00:11:17,700 --> 00:11:18,720 other objective function. 132 00:11:18,750 --> 00:11:20,460 OK, so look at here. 133 00:11:21,850 --> 00:11:32,640 At each point, I write down a for loop, and at each iteration I am updating the value of the Absolon, 134 00:11:32,650 --> 00:11:39,270 so at the first iteration it is of a minimum of one, OK? 135 00:11:39,970 --> 00:11:44,260 And at the final one it becomes a maximum of F. 136 00:11:44,480 --> 00:11:52,990 OK, so in this way, when I solve the problem and optimize it, I can easily find out the value for 137 00:11:52,990 --> 00:11:54,080 the other objective function. 138 00:11:54,100 --> 00:12:01,570 So if you can see here I am starting from zero point two and little by little I am increasing this Epsilon 139 00:12:01,670 --> 00:12:01,990 C. 140 00:12:02,920 --> 00:12:06,200 And try to optimize the other objective function. 141 00:12:07,060 --> 00:12:07,410 OK. 142 00:12:10,030 --> 00:12:13,480 And if you want to graphically show it, you can see it here. 143 00:12:15,210 --> 00:12:24,540 OK, so, um, the number of points depends on the, um, how many steps you have to specify for your 144 00:12:24,540 --> 00:12:25,330 programming. 145 00:12:25,380 --> 00:12:25,760 OK. 146 00:12:26,630 --> 00:12:27,300 And that's it. 147 00:12:27,630 --> 00:12:28,440 Thank you very much.