1 00:00:00,060 --> 00:00:08,350 And circles with an unknown radius inside a half circle without overlapping each other. 2 00:00:08,370 --> 00:00:19,350 So the first constraint that should be satisfied is that the any pair of two circles should not have 3 00:00:19,350 --> 00:00:20,550 any overlap with each other. 4 00:00:21,060 --> 00:00:26,820 So this the distance between their centers should be bigger than our eye. 5 00:00:26,820 --> 00:00:35,040 Plus, R.G. Square on our eye and RJ are the unknown parameters of the model, the radius of those small 6 00:00:35,280 --> 00:00:42,510 circles, and also they should not be out of the circle. 7 00:00:43,120 --> 00:00:49,650 OK, and finally, why should be bigger than our eye. 8 00:00:49,870 --> 00:01:00,810 OK, so in order to see how can we code it in Python, um, I will show you quickly how we can do it. 9 00:01:00,840 --> 00:01:08,010 OK, so first of all, as before, we have to import um package required packages Palomo matplotlib 10 00:01:08,010 --> 00:01:11,280 a numpty and then we define the abstract. 11 00:01:12,480 --> 00:01:22,160 So here you can see that um we have a set I, we have a set J which is the alias of says I parmeter 12 00:01:22,170 --> 00:01:33,540 r um we have to give the model the radius of each small circle and also and we have some variables, 13 00:01:33,570 --> 00:01:36,950 decision variables are X, Y and radius. 14 00:01:37,950 --> 00:01:46,620 So um X can be between zero and for example the big number 15 is a big number for this purpose on initialize 15 00:01:46,620 --> 00:01:53,370 it with some number and also y um can be initialized. 16 00:01:54,850 --> 00:02:06,850 And as for but the bound for WI is between our eye and 15, OK, so on the are the radius is a bigger 17 00:02:06,850 --> 00:02:09,790 bound, has been chosen for radius. 18 00:02:10,900 --> 00:02:13,280 And also we can say, OK. 19 00:02:13,300 --> 00:02:21,400 And if I is less than J, then this constraints should be satisfied. 20 00:02:23,120 --> 00:02:32,060 So, um, and then we can, um, everything is defined here, so there is another constraint telling 21 00:02:32,060 --> 00:02:33,260 us that, um. 22 00:02:34,750 --> 00:02:42,490 Um, all the circles should be inside the big circle, and the solver is chosen as the EPOP since it's 23 00:02:42,490 --> 00:02:47,500 non-linear and also the data of the model which contains the. 24 00:02:48,550 --> 00:02:55,500 The radius of each circle is also specified, so you can see the data file here. 25 00:02:55,810 --> 00:03:03,810 OK, and once we know that you can change the radius of each circle, that should be fine. 26 00:03:04,220 --> 00:03:09,240 Um, and also, finally, you can plot the results at the end. 27 00:03:09,240 --> 00:03:15,830 So I run the model and the whole model and, uh, check the results for you. 28 00:03:18,710 --> 00:03:23,690 OK, so you can see here that, um, the results are obtained here. 29 00:03:24,720 --> 00:03:25,980 I can rerun that. 30 00:03:27,710 --> 00:03:29,960 See if it gives any other response. 31 00:03:30,620 --> 00:03:40,670 OK, so it is solving and the minimum radius is this number if I give any other kind of initial solution 32 00:03:40,670 --> 00:03:41,230 for that. 33 00:03:41,240 --> 00:03:44,270 So let's change the initial solution. 34 00:03:44,270 --> 00:03:51,980 Let's say X is three and why is let's say five and and rerun the whole model again. 35 00:03:55,380 --> 00:03:56,700 And check the results. 36 00:03:57,060 --> 00:04:03,070 OK, you can see that it gives you an another, um, answer. 37 00:04:03,210 --> 00:04:13,100 OK, so since the problem is non-linear, then it is expected to be sensitive to the initial, um, 38 00:04:13,410 --> 00:04:16,050 value you assign to your variables. 39 00:04:16,080 --> 00:04:23,960 OK, so by changing the initial value, you can see the objective function is changed. 40 00:04:24,390 --> 00:04:25,200 Thank you very much.