![]() |
سوال ژنتیک
سلام دوستان عزیز یه تابع هست میخوام ماکزیممش کنم با الگوریتم ژنتیک.اگه کسی بتونه کدشو برام بنویسه کلی لطف کرده بهم.
تابعش اینه: y=102.44(a^0.56)(b^-0.38)c^0.09 و هر کدوم از متغییرا بازه ای دارند که به صورت زیره: a=1-2 ، b=24-32 ، c=7-20 ممنون |
بیشینه کردن تابع با الگوریتم ژنتیک
سلام
اصولا از این که جواب رو حاضر و آماده به کسی بدم نفرت دارم. ولی گفتم شاید این موضوع بعدا به دردم بخوره بره همین یه سرچ کوچولو زدم.( راجع به این سوال شما هیچ اطلاعی نداشتم) چند نکته: ۱- چرا نگفتی کدش رو با چه زبونی می خوایی؟ ۲- منظورت از این که a =1-2 یعنی چی؟ یعنی این بازه اعداد حقیقی رو شامل می شه یا فقط اعداد صحیح؟ چون اگه اعداد صحیح باشه کلا ۲۵۲ حالت هست و به راحتی می شه جواب رو بدست آورد. این هم کد MATLAB: function GaMaximization clc; clear; nvars = 3; % Number of variables LB = [1 24 7]; % Lower bound UB = [2 32 20]; % Upper bound x = ga(@FitnessFunction, nvars, [], [], [], [], LB, UB); fprintf( 'a = %f, b = %f, c = %f .\n', x(1), x(2), x(3) ); end function y = FitnessFunction(x) y = 102.44 * (x(1)^0.56) * (x(2)^-0.38) * (x(3)^0.09); end Optimization terminated: average change in the fitness value less than options.TolFun. a = 1.000000, b = 30.883943, c = 7.000000 . |
زمان محلي شما با تنظيم GMT +3.5 هم اکنون ۰۴:۳۴ قبل از ظهر ميباشد. |
Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.1.0 ©2007, Crawlability, Inc.