Тёмный

Multi-Objective Optimisation - Writing your own Genetic Algorithm Part 6 

Подписаться
Просмотров 23 тыс.
% 675

Check me out on Odysee for ad-free videos: odysee.com/@TutorialsByGary
Genetic Algorithms are incredibly powerful problem-solving tools. In this video, we will be covering multi-objective. This will allow us to optimize for multiple criteria or 'objectives' at once.
This video is 100% theory, just explaining what multi-objective is, and how it pertains to our problem.
Links to all the good stuff:
0:00 Introduction
0:42 Why do we need multi-objective?
1:45 Example 1
5:25 Example 2
6:04 Domination explained
7:32 Pareto front explained
8:16 Determining fronts
8:53 Crowding Distance
11:23 Fitness Ranking
11:42 Changes to selection methods
12:23 Linear Ranking System
12:42 Benefits of going multi-objective
13:37 Challenge Question, Example & Outro
No code for this video!
Join us on Discord (I'm trying to be active more often):
discord.gg/8cARYAE
Previous Video:
Convergence - ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-y8Tm4hlbLCE.html
Link to Visual Studio Community (It's Free!)
visualstudio.microsoft.com/downloads/

Опубликовано:

 

13 июн 2020

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 75   
@ericpenarium
@ericpenarium 3 года назад
This video is fantastic! Exactly what I needed, just didn’t know how to think about it. Thank you for what you do.
@TutorialsWithGary
@TutorialsWithGary 3 года назад
I'm glad I could help!
@fetsackz2665
@fetsackz2665 3 года назад
This is insanely well explained! Thanks! Also, nicely made video.
@stevenpehrson711
@stevenpehrson711 Год назад
Thank you! I enjoyed the clear audio and great graphics. This was excactly the level of detail I needed!
@kebotos
@kebotos 2 года назад
I just discover this channel and i'm impressed !!! Very nice video, about multi-objective optimization ! Very well explained ! Fantastic ! Thank you
@haresmahmood
@haresmahmood Год назад
The best explanation of the pareyo front I've seen so far and that includes all the time my uni lecturer spent trying to explain it
@TutorialsWithGary
@TutorialsWithGary Год назад
Thanks I really appreciate that! I don’t make any money off this channel, but if you think others in your class might benefit from the content id appreciate a recommendation :)
@jasonlam3421
@jasonlam3421 2 года назад
This is the best explanation videos about multi-objective optimization!!!
@matteoarciuli3672
@matteoarciuli3672 Год назад
Amazing explanations, since i'm facing this stuffs for the first time. No other better content online about this stuff in a friendly approach.
@dinithipandithage2958
@dinithipandithage2958 2 года назад
Incredibly helpful. Thanks a lot
@amithshambu7181
@amithshambu7181 2 года назад
Thank you so much Gary!
@lorenzomauro-zy8pm
@lorenzomauro-zy8pm Год назад
Hey hey spectacular video, extremely clear and accurate: I need to learn GA for my job but every resource that I read was mentioning the pareto front without explaining it... Thank you!
@TutorialsWithGary
@TutorialsWithGary Год назад
I’m glad you found it helpful!
@xingyusu9613
@xingyusu9613 11 месяцев назад
thanks for your video!!! really really helpful!!
@programmer313
@programmer313 2 года назад
Perfect Thank you for this explanation
@isaiasramirez7071
@isaiasramirez7071 4 года назад
I've been watching a lot of videos related to multi-objective evolutionary algorithms and I want to say that this is my favorite so far. Currently, I'm developing a system to analyze the odds from betting websites in real-time to find the bet's "safer" configuration. I'm planning to use a multi-objective evolutionary algorithm as the processing engine, so I would be very interested in a video that goes through the implementation details for any of the existing algorithms. Thanks for this exceptional content!
@TutorialsWithGary
@TutorialsWithGary 4 года назад
That’s awesome. If you haven’t watched the earlier videos in the series I would strongly recommend it. In the next video I’m going through the implementation of multi-objective for our TSP. You can grab the code early here: github.com/Gary-The-Cat/MultiObjective it’s well documented, but I will go over all the changes in my next video.
@brandonsamuelcruzsilva7626
@brandonsamuelcruzsilva7626 9 месяцев назад
Superb!
@Happy_General
@Happy_General 2 года назад
Great work, Gary
@TutorialsWithGary
@TutorialsWithGary 2 года назад
Thanks!
@frankietank8019
@frankietank8019 2 года назад
Great video - helped me a lot, thanks!
@TutorialsWithGary
@TutorialsWithGary 2 года назад
I’m glad it helped!
@tr-GoodVibes
@tr-GoodVibes 3 года назад
great explanation!
@aminuabdulsalami4325
@aminuabdulsalami4325 Год назад
Awesome video.
@TutorialsWithGary
@TutorialsWithGary Год назад
Thanks!
@julianomenegolla9782
@julianomenegolla9782 3 года назад
Hey man, great video!
@TutorialsWithGary
@TutorialsWithGary 3 года назад
Thanks! I’m really glad you liked it
@jeanbaptisteminani9546
@jeanbaptisteminani9546 Год назад
Thank you for replying quickly... The tutorial is super amazing for new comers like me. However, I could not find out how to zoom since the screen freezes. Is there a way, I can run it and see output on console or in form without seeing those graphical computations? that could remove the barriers for those who wants to experiment it without concept of gaming. Just to run it on console.
@wesleycostaee
@wesleycostaee 3 года назад
Amazing video! Very well explained... Can you tell us wich software did you use to make the presentation?
@TutorialsWithGary
@TutorialsWithGary 3 года назад
Hey thanks for the feedback! I used after effects, is a very slow process
@RealMcDudu
@RealMcDudu 3 года назад
Amazing video man. How did you do the animations? Is there some app for it?
@TutorialsWithGary
@TutorialsWithGary 3 года назад
Thanks! Painstakingly slowly in after effects 😂
@syedumair3172
@syedumair3172 Год назад
Awesome video! I like your teaching method. You have any full courses online? I would love to register and pay.
@TutorialsWithGary
@TutorialsWithGary Год назад
Thank you! I don’t have any other courses sorry, but it’s something I’d love to do.
@conor1577
@conor1577 2 года назад
Love the channel! Have you ever looked into NSGA for VRP?
@TutorialsWithGary
@TutorialsWithGary 2 года назад
I can’t say I have, I have used GA’s for a lot of random problems, but mostly in experimentation.
@abdulkarim.jamal.kanaan
@abdulkarim.jamal.kanaan 3 года назад
great! I have not seen such well done explanation with animation for quite some time. can I know what tool did you use to make this video?
@TutorialsWithGary
@TutorialsWithGary 3 года назад
Thanks, I used AfterEffects for all animation
@abdulkarim.jamal.kanaan
@abdulkarim.jamal.kanaan 3 года назад
@@TutorialsWithGary thanks
@satyajitghosh6384
@satyajitghosh6384 2 года назад
This is a great video. I have a problem and wondering whether GA can be used in that. I am doing trajectory reconstruction. There are two sets of data, and using them in a single objective function in an additive fashion gives no improvement. By 'no improvement', I mean after using the two data sets, the reconstruction error is higher than when using only the first data set. This happens because second data set events contain a larger error. Do you think GA can provide a synergistic effect? I am not familiar with MOP. What I know is that in MOP, objectives have to be 'contradicting' to each other. In my case, I guess my objectives are 'similar'.
@TutorialsWithGary
@TutorialsWithGary 2 года назад
I don’t know if your problem sounds like a good fit for a GA, but I can provide information anyway :) If your two functions truly were (positively) correlated, then summing them and using a single objective should yield good results (if a GA is an appropriate option for this problem). Implementing it as a multi objective problem should likewise improve the result over time.
@dakirmossadeq1675
@dakirmossadeq1675 5 месяцев назад
Hey! Thanks for such a great video however a question crossed my mind concerning the implementation of a fitness function for a multi-objective optimization (MO) problem. Since you explained that for MO problems, different objectives need to have their separate scales/axes, then to find the fittest individual wouldn't it work if I calculated the distance magnitude (for a 2D minimization problem, or two objective functions x and y to be minimized it would be d=sqrt(x^2+y^2))? Therefore, the fittest individual would be the one with the shortest d, meaning it is closest to the origin in terms of x and y. Thanks in advance for your response.
@TutorialsWithGary
@TutorialsWithGary 5 месяцев назад
Hey, Imagine if you have three solutions A = (1,5) B = (5,1) C = (2,2) By your logic, C would be the best solution, however it is worse in the first objective than solution A, and is worse in the second objective than solution B. Additionally say you only had A and B, your logic would not be able to tell them apart. The purpose of the Pareto front is a way for us to trade objectives against one another - specifically when we have more than one objective because direct comparisons are not possible without giving up some information.
@dakirmossadeq1675
@dakirmossadeq1675 5 месяцев назад
@@TutorialsWithGary Alright it makes sense, thank you !
@randallwalkerdiaz1002
@randallwalkerdiaz1002 4 года назад
Wow.. This one video has upped my game in terms of data and analytics. Tremendous value; and I recommend partnering up with me or an economist to write a series of books.
@cboniefbr
@cboniefbr 3 года назад
Amazing!!!!!!!
@cboniefbr
@cboniefbr 3 года назад
Please keep making videos Gary!
@TutorialsWithGary
@TutorialsWithGary 3 года назад
Thank you, I’m glad you liked it. I’ve been struggling to find time to make videos recently but I really want to make more
@roylevy178
@roylevy178 3 года назад
Great explanation!! Thank you! :) I'm working on a similar project and trying this approach with genetic algorithms, but I'm having a hard time formulating the problem with restrictions and all. Could you please show an example of formulation for the problem presented here? (variables, the two objectives and restrictions) Thank you very much in advance!
@TutorialsWithGary
@TutorialsWithGary 3 года назад
Hey Roy, I'm glad you're getting into Genetic Algorithms. In my next video in this series I go through the code required for a C# implementation of this
@roylevy178
@roylevy178 3 года назад
Yes, i'm using the code provided there but can't find the restrictions code in it. Like how do you decide that a solution is infeasible?
@TutorialsWithGary
@TutorialsWithGary 3 года назад
The way the spawning, crossover and mutation operator have been designed, every solution is always feasible. There are ways to generate these operators in a way that they produce infeasible solutions, where you can then ‘repair’ them, but if I was designing it, I would prefer to modify my operators to guarantee the results generated are feasible
@roylevy178
@roylevy178 3 года назад
Thank you very much!!😄
@h40230
@h40230 3 года назад
The Best Video Ever *_* thank you
@TutorialsWithGary
@TutorialsWithGary 3 года назад
I’m glad it was helpful for you :) Are you learning about GA’s for work of fun?
@h40230
@h40230 3 года назад
Actually i'm phd student, and my topic has relation with ga, and i need help, if you could to help me?
@TutorialsWithGary
@TutorialsWithGary 3 года назад
No worries, if you are interested in a chat, you can always join my discord server :)
@kheangngov8005
@kheangngov8005 10 месяцев назад
I have a question? Do we need to scale our objective function to 0-1 for better trade off between 2 objectives?
@TutorialsWithGary
@TutorialsWithGary 9 месяцев назад
That is part of the beauty of having each objective in its own axis, the scale of different objectives will not interact with one another, always providing the best trade off between objectives.
@jeanbaptisteminani9546
@jeanbaptisteminani9546 Год назад
is there any preferred screen size or library? I get only city displayed on screen as very big image and almost another one appearing but after that nothing else
@TutorialsWithGary
@TutorialsWithGary Год назад
Hey, in a later video I added in the concept of a camera that allows you to zoom out & use any screen size. It would be worth grabbing that code
@jeanbaptisteminani9546
@jeanbaptisteminani9546 Год назад
Thank you for replying quickly... The tutorial is super amazing for new comers like me. However, I could not find out how to zoom since the screen freezes. Is there a way, I can run it and see output on console or in form without seeing those graphical computations? that could remove the barriers for those who wants to experiment it without concept of gaming
@jeanbaptisteminani9546
@jeanbaptisteminani9546 Год назад
Do you have its implementation? could you put it a link in description?
@TutorialsWithGary
@TutorialsWithGary Год назад
Certainly! The next video in the series has code attached in the description.
@allaboutcomputers9132
@allaboutcomputers9132 4 года назад
so good btw reddit brought me here :)
@TutorialsWithGary
@TutorialsWithGary 4 года назад
That’s great, thank you
@georgestavrou8785
@georgestavrou8785 3 года назад
Very nice video indeed, can you please show a video with more than 2 objectives? like 3 or more for example now you have time and distance what will happen if you add gas consumption as an extra? how do you calculate. What kind of graph do you use? how can you measure pareto with more than 2 objectives? or select the parents? Do you pair them for each objective? In my Phd i am trying to create the best team of a pool of 5000 users for a project with specific criteria, my chromosome is the size of the team. For example 5 people are needed, with X criteria in each field of study... Thats why i need an example.. Also you video was one of the best i saw so far. Keep it going.
@TutorialsWithGary
@TutorialsWithGary 3 года назад
Hey! I have been working hard on a new project that I will be using to continue the series (It's taking longer than expected.. what doesn't haha). The same techniques we have used here can be used for more than 2 objectives, however, they start to become slow and less meaningful must past 3. There is another approach for that (If you're interested in reading, give 'NSGA III' a google). If you go to three objectives, all of the same logic works, however instead of being a line, the Pareto front will be a 3D surface. Selection is similarly scaled, however, it sounds like you really might be better suited to something like NSGA III. The selection and ranking approach is unfortunately entirely different, but the reasoning logic is all the same as we've covered in these videos. I'm really keen to make a series on NSGA III, but I don't think it will be ready by the time you need it. I've read the original NSGA III paper though and they walk through all of the techniques and wouldn't be too hard to follow and implement. I hope this has helped!
@phongpham3787
@phongpham3787 3 года назад
Can you make a video about NSGA - II Algorithm
@TutorialsWithGary
@TutorialsWithGary 3 года назад
You’re in luck, this series implements NSGA II 😀
@phongpham3787
@phongpham3787 3 года назад
@@TutorialsWithGary that's great Help me a lot with my thesis
@phongpham3787
@phongpham3787 3 года назад
@@TutorialsWithGary but actually I'm working on three objectives problems so I dont know how to rank them when they have three obj func
@TutorialsWithGary
@TutorialsWithGary 3 года назад
The ranking process is the same as the method explained in the last video in this series. The same logic applies to three objectives.