پیاده سازی الگوریتم ژنتیک واقعی یا پیوسته در متلب تصویر شاخص حاوی عنوان سورس کد و تصویری از ژنتیکو نمودار سه بعدی می باشد.
داکیــومنت

پیاده سازی الگوریتم ژنتیک پیوسته در متلب

تهیه کننده:

تیم برنامه‌نویسی پی‌استور

(دیدگاه کاربر 1)
امتیاز 5.00 از 5
پیاده سازی الگوریتم ژنتیک واقعی یا پیوسته در متلب تصویر شاخص حاوی عنوان سورس کد و تصویری از ژنتیکو نمودار سه بعدی می باشد.

هزینه سفارش:

تخفیف ویژه 60 درصدی

قیمت اصلی: ۲۰۸,۰۰۰ تومان بود.قیمت فعلی: ۸۰,۰۰۰ تومان.

تخصصی و منحصر به فرد بودن این اثر، تضمین کننده بهای محصول نسبت به آثار مشابه است.

الگوریتم ژنتیک

الگوریتم ژنتیک پیوسته روشی براي بهینه سازي با جستجوي وسیع است و کارکرد آن بر اصول انتخاب طبیعی حاکم بر ژنتیک طبیعی استوار است. ایده این الگوریتم از نظریه تکامل داروین الهام گرفته شده است. اگرچه این الگوریتم روشی براي جستجوي تصادفی است، ویژگی‌هاي خاص آن موجب می‌شود که نتوان آن را یک جستجوي تصادفی ساده قلمداد کرد. در این الگوریتم اطلاعات تاریخی از چگونگی تکامل، به شکلی کارا استخراج شده و در روند جستجو استفاده می‌شود. الگوریتم ژنتیک روشی قدرتمند بوده و بر روي دسته وسیعی از مسائل به‌خوبی عمل می‌کند.

الگوریتم ژنتیک واقعی که بر اساس ایده‌ی تکامل بیولوژیکی در طبیعت عمل می‌نمایند، بر روي جمعیتی از راه حل‌های بالقوه یا کروموزوم‌ها که هریک می‌توانند به‌عنوان پاسخی از مسئله تلقی شوند، با اعمال عملگرهای ژنتیکی به جستجوي راه حل نهایی می‌پردازند. در الگوریتم ژنتیکی، بسیاري از مکانیزم‌هایی که در زیست شناسی وجود دارد، نظیر انتخاب ژن برتر، ترکیب ژن‌ها، جهش ژن‌ها، مهاجرت افراد جمعیت، محلی بودن گونه‌ها و … شبیه سازي می‌شوند. در این الگوریتم‌ها، جستجو بر روي مجموعه‌هايی از راه حل‌ها به‌صورت موازي انجام می‌شود، درحالی‌که در روش‌هاي سنتی جستجو به‌صورت ترتیبی است.

نحوه کار الگوریتم

در آغاز الگوریتم، تعدادي از افراد به‌عنوان جمعیت اولیه و معمولاً به‌صورت تصادفی ساخته‌شده و معیاري از کیفیت به نام تابع هدف یا برازندگی براي تک  تک آن‌ها ارزیابی می‌شود. اگر شرط رسیدن به جواب برقرار نباشد (به جواب بهینه نرسیده باشیم)، نسل بعدي با انتخاب والدین بر اساس میزان برازندگی آن‌ها تولید می‌شود. در هر نسل، بهترین‌های آن نسل انتخاب می‌شوند و پس از زادوولد، مجموعه جدیدی از فرزندان را تولید می‌کنند.

کروموزوم‌های موجود در جمعیت بر اساس مقدار برازندگی به‌عنوان والد انتخاب می‌شوند. سپس تولید مثل، بین جفت کروموزوم‌ها انجام می‌گیرد تا فرزندان ایجاد شوند و فرزندان با احتمالی ثابت دچار جهش می‌شوند. سپس میزان برازندگی فرزندان جدید محاسبه‌شده و جمعیت جدید، از جایگزینی فرزندان با والدین ایجاد می‌شود و جمعیت ایجادشده جدید به‌عنوان نسل بعدي شناخته می‌شود و فرایند تکرار می شود. در این فرایند، افراد مناسب‌تر با احتمال بیشتري در نسل‌هاي بعد باقی خواهند ماند و این فرایند تا برقرار شدن شرط خاتمه تکرار می‌شود.

الگوریتم زمانی پایان خواهد یافت که بهبودي بر روي جواب‌ها صورت نگیرد و یا اینکه تعداد مشخصی نسل تولید شود. مراحل کلی یک الگوریتم ژنتیک می‌تواند به‌صورت شکل زیرباشد.

صورت کلی یک الگوریتم ژنتیک
صورت کلی یک الگوریتم ژنتیک

سورس کد الگوریتم ژنتیک پیوسته در متلب

clc;
clear;
close all;

%% Problem Definition

CostFunction=@(x) Costfun(x);     % Cost Function

nVar=10;             % Number of Decision Variables

VarSize=[1 nVar];   % Decision Variables Matrix Size

VarMin=-10;         % Lower Bound of Variables
VarMax= 10;         % Upper Bound of Variables


%% GA Parameters

MaxIt=500;     % Maximum Number of Iterations

nPop=100;       % Population Size

pc=0.7;                 % Crossover Percentage
nc=2*round(pc*nPop/2);  % Number of Offsprings (also Parnets)
gamma=0.4;              % Extra Range Factor for Crossover

pm=0.3;                 % Mutation Percentage
nm=round(pm*nPop);      % Number of Mutants
mu=0.1;         % Mutation Rate
%% Main Loop

for it=1:MaxIt
    
    % Calculate Selection Probabilities
    if UseRouletteWheelSelection
        P=exp(-beta*Costs/WorstCost);
        P=P/sum(P);
    end
    
    % Crossover
    popc=repmat(empty_individual,nc/2,2);
    for k=1:nc/2
        
        % Select Parents Indices
        if UseRouletteWheelSelection
            i1=RouletteWheelSelection(P);
            i2=RouletteWheelSelection(P);
        end
        if UseTournamentSelection
            i1=TournamentSelection(pop,TournamentSize);
            i2=TournamentSelection(pop,TournamentSize);
        end
        if UseRandomSelection
            i1=randi([1 nPop]);
            i2=randi([1 nPop]);
        end

        % Select Parents
        p1=pop(i1);
        p2=pop(i2);
        
        % Apply Crossover
        [popc(k,1).Position, popc(k,2).Position]=Crossover(p1.Position,p2.Position,gamma,VarMin,VarMax);
        
        % Evaluate Offsprings
        popc(k,1).Cost=CostFunction(popc(k,1).Position);
        popc(k,2).Cost=CostFunction(popc(k,2).Position);
        
    end
    popc=popc(:);
    
    
    % Mutation
    popm=repmat(empty_individual,nm,1);
    for k=1:nm
        
        % Select Parent
        i=randi([1 nPop]);
        p=pop(i);
        
        % Apply Mutation
        popm(k).Position=Mutate(p.Position,mu,VarMin,VarMax);
        
        % Evaluate Mutant
        popm(k).Cost=CostFunction(popm(k).Position);
        
    end
    
    % Create Merged Population
    pop=[pop
         popc
         popm]; %#ok
     
    % Sort Population
    Costs=[pop.Cost];
    [Costs, SortOrder]=sort(Costs);
    pop=pop(SortOrder);
    
    % Update Worst Cost
    WorstCost=max(WorstCost,pop(end).Cost);
    
    % Truncation
    pop=pop(1:nPop);
    Costs=Costs(1:nPop);
    
    % Store Best Solution Ever Found
    BestSol=pop(1);
    
    % Store Best Cost Ever Found
    BestCost(it)=BestSol.Cost;
    
    % Show Iteration Information
    disp(['Iteration ' num2str(it) ': Best Cost = ' num2str(BestCost(it))]);
    
end

برای دانلود سورس کد کامل الگوریتم ژنتیک پیوسته محصول را خریداری کنید به محض خرید لینک دانلود در دسترس خواهد بود.

درباره محصول

سورس کد الگوریتم ژنتیک پیوسته در نرم افزار Matlab نوشته و اجرا شده است این سورس کد توسط تیم پشتیبانی پی استور تست و اجرا شده است. کیفیت اثر توسط پی استور تضمین می‌شود و  دارای نشان تضمین کیفیت پی استور می‌باشد. برای دانلود اثر مذکور آن را خریداری فرمایید به محض خرید لینک دانلود در دسترس خواهد بود.

اطلاعات و ویژگی‌های فنی

مشخصات تکمیلی

اطلاعات و جزئیات کامل این محصول

نام اثر
پیاده سازی الگوریتم ژنتیک پیوسته در متلب
نوع اثر
سورس کد
برنامه‌نویس:
تیم برنامه‌نویسی پی‌استور
زبان برنامه نویسی:
Matlab
ویژگی:
قابل دانلود و ویرایش
برنامه‌نویس
تیم برنامه‌نویسی پی‌استور
متشکل از اساتید و فارغ التحصیلان رشته‌های فنی - مهندسی

تیم برنامه نویسی پی استور یکی از اولین گروه‌های تشکیل شده در مجموعه آموزشی پی استور می‌باشد. این تیم از اساتید مجرب و فارغ التحصیلان رشته‌های فنی و مهندسی تشکیل شده که در زمینه‌های مختلف برنامه‌نویسی و تهیه سورس کد فعال هستند.

تیم برنامه‌نویسی پی‌استور

راهنمای خرید و ثبت سفارش

راهنمای 3 مرحله ای خرید

اگر در مورد این اثر یا نحوه تهیه آن سوالی دارید؟

  • با شماره 44225175 (پیش شماره 041) تماس بگیرید. – ساعات اداری
  • با ما مکاتبه ایمیلی داشته باشید (این لینک). – تمام ساعات

دیدگاه‌ها و نظرات

1 نظر|5.00 (میانگین امتیاز کاربران)

  1. آواتار سینا ابراهیمی

    سینا ابراهیمی

    ممنون از سایت خوبتون. من چطور می تونم این الگوریتم رو تو مسئله تعیین تعداد بهینه توربین ها استفاده کنم؟

    • آواتار مدیریت و پشتیبانی

      مدیریت و پشتیبانی

      با سلام
      در استفاده از الگوریتم ژننیک برای مسائل بهینه سازی 2 مسئله مهم است.
      1- نگاشت مسئله
      2-تعیین تابع تناسب
      در نگاشت مسئله باید ابتدا مسئله بصورت یک کروموزوم کد گذاری شود. چگونگی انجام این کار توسط شما باید ایجا بشه تابع Create Model در این سورس کد نحوه تبدیل مسئله به کروموزوم رو نشون میده. در تعیین تابع تناسب نیز باید مشخص کنید جوابی که مثلا یک کروموزوم میده با کروموزم دیگه چه ارزشی داره یا نحوه مقایسه دو جواب با تابع تناسب که CostFun هست انجام میشه.
      بقیه کدها همون کدهای ژنتیک هستن و برای هر مسئله ای یکسان هست.

دیدگاه خود را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

شناسه اثر: 4841 دسته‌بندی موضوعی: برچسب ,

هزینه سفارش:

تخفیف ویژه 60 درصدی

قیمت اصلی: ۲۰۸,۰۰۰ تومان بود.قیمت فعلی: ۸۰,۰۰۰ تومان.