A Novel Optimization Tool for Automated Design of Integrated Circuits based on MOSGA

Document Type : Research Article

Authors

1 Department of electrical engineering, Faculty of Engineering, Ferdowsi University of Mashhad, Mashhad, Iran

2 Department of electrical engineering, Faculty of Engineering, University of Birjand, Birjand, Iran

Abstract

In this paper a novel optimization method based on Multi-Objective Gravitational Search Algorithm (MOGSA) is presented for automated design of analog integrated circuits. The recommended method firstly simulates a selected circuit using a simulator and then simulated results are optimized by MOGSA algorithm. Finally this process continues to meet its optimum result. The main programs of the proposed method have been implemented in MATLAB while analog circuits are simulated by HSPICE software. To show the capability of this method, its proficiency will be examined in the optimization of analog integrated circuits design. In this paper, an analog circuit sizing scheme -Optimum Automated Design of a Temperature independent Differential Op-amp using Widlar Current Source- is illustrated as a case study. The computer results obtained from implementing this method indicate that the design specifications are closely met. Moreover, according to various design criteria, this tool by proposing a varied set of answers can give more options to designers to choose a desirable scheme among other suggested results. MOGSA, the proposal algorithm, introduces a novel method in multi objective optimization on the basis of Gravitational Search Algorithm in which the concept of “Pareto-optimality” is used to determine “non-dominated” positions as well as an external repository to keep these positions. To ensure the accuracy of MOGSA performance, this algorithm is validated using several standard test functions from some specialized literatures. Final results indicate that our method is highly competitive with current multi objective optimization algorithms.

Keywords


مدارات مجتمع الکترونیک با معرفی سیستم‌های متمرکز بر روی یک تراشه[1]، سیستم‌های آنالوگ و دیجیتال را در کنار هم ارائه کرده­اند. با اینکه بخش آنالوگ درصد کمی از کل­مدار را شامل می­شود، اما جزو بخش‌های حیاتی مدارات مجتمع محسوب می­شود. طراحی مداراتِ بخش آنالوگ در مقایسه با قسمت­های دیجیتال از پیچیدگی بالاتری برخوردار بوده، علاوه بر هزینه بالا و زمان بَر بودن، به مهارت بالایی نیز در طراحی نیاز دارد. از این‌رو، طراحی بهینه مدارات مجتمع آنالوگ را گلوگاه طراحی مدارات مجتمع الکترونیک می­نامند.

طراحی مدارات آنالوگ فقط شامل طراحی توپولوژی و طرح اولیه[2] نیست، بلکه سایزبندی و مقداردهی المان­ها را نیز شامل می­شود. از این جهت، آن را فرایندی پیچیده و چالش برانگیز می­دانند. روش سایزبندی المان­ها اغلب فرایندی کند، خسته­کننده و تکرار شونده است که میزان موفقیت آن به دانش، فراست و تجربه طراح بستگی دارد. به همین علت روش‌های متفاوتی در طراحی خودکار مدارات مجتمع آنالوگ از سوی محققین مطرح شده است.

روش­های طراحی خودکار مدارات مجتمع آنالوگ دارای دو جنبه مهم هستند: از دیدگاه جنبه اول با به کارگیری این روش­ها دیگر به روش‌های مکررِ دستی، کند و خسته­کننده گذشته نیازی نیست و به راحتی می­توان از آنها در طراحی مدارات آنالوگ در مقیاس بزرگ استفاده نمود. همچنین دقت بالا، استفاده آسان، عمومیت، انعطاف پذیری و زمان قابل قبول طراحی از دیگر مزایای آن است. اما از دیدگاه جنبه دوم میزان پیشرفت به کارگیری روش‌های طراحی خودکار مدارات آنالوگ و ابزار­های CAD موجود در این زمینه در مقایسه با مدارات دیجیتال عقب­تر است و تعداد بسیار کمی از این روش­ها تجاری شده­اند. از این رو توسعه ابزار‌ها و ابزارهای CAD جدید برای افزایش بهره‌وری طراحی، کاهش زمان عرضه به بازار[3] و کنترل هزینه‌های طراحی مدارات مجتمع آنالوگ و سیگنال مختلط امری ضروری می‌باشد.

ابزار‌های جدید طراحی خودکار مدارات مجتمع آنالوگ از دو بخش اساسی تشکیل شده­اند: بخش سنتز[4] و بخش بهینه­سازی. در بخش سنتز پاسخ یا پاسخ­هایی به عنوان خروجی معرفی می­شود، اما معمولا پاسخ ارائه شده بهترین پاسخ ممکن نبوده، ممکن است با اندکی تغییرات در آن، نتایج بهتری به دست آید. از این­رو، در بخش بهینه­سازی، پاسخ­های به دست آمده از بخش قبل تا حد امکان به بهترین پاسخ ممکن نزدیک می­شوند. 

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

بارزترین مشخصه الگوریتم­های هوش جمعی رفتارهای اجتماعی آنهاست. این الگوریتم­ها از اعضایی تشکیل شده­اند که رفتارهای ساده­ای از خود بروز می­دهند، اما اثر جمعی این رفتارها به گونه­ای است که هوشمندی جمعی[5] را نتیجه می‌دهد. در الگوریتم­های هوش جمعی اعضای گروه برای رسیدن به یک هدف نهایی با یکدیگر همکاری می­کنند. به طور قطع، این روش مؤثرتر از زمانی است که اعضا به صورت جداگانه عمل می­کنند. به­تازگی روش­های بهینه‌سازی هوش­جمعی، به­دلیل مشخصات عملکردی کارامد ودارا بودن زمینه­های بکر فراوان در کاربردهای طراحی مدار با استقبال فزاینده­ای مواجه شده­اند. از جمله جدیدترین الگوریتم­های هوش جمعی می­توان به الگوریتم جستجوی گرانشی (GSA) اشاره کرد. این الگوریتم، با الهام از مفاهیم جرم و نیروی جاذبه و با شبیه­سازی قوانین مربوطه ارائه شده است.

اما از آنجا که طراحی آنالوگ یک مسأله چندهدفه بوده و شاخص­های مختلف مدارات همچون بهره، پهنای باند، حاشیه فاز و توان مصرفی با یکدیگر در تعارض هستند، به آسانی نمی­توان از میان جواب­های به دست آمده، بهترین پاسخ را یافت. از این­رو، باید میان جواب­های موجود مصالحه­ای شایسته برقرار نمود که این مصالحه با کمک چند هدفه ساختن الگوریتم بهینه­سازی میسر می­شود.

در این مقاله، روش نوینی در بهینه­سازی چند هدفه مبتنی بر الگوریتم جستجوی گرانشی به نام الگوریتم جستجوی گرانشی چند هدفه (MOGSA) ارائه می­شود. در الگوریتم MOGSA از روش «بهینگی پَرِتو»[6] برای شناسایی موقعیت­های «غیر غالب»[7] و از یک «مخزن بیرونی»[8] به عنوان حافظه­ای برای نگهداری این موقعیت­ها استفاده می‌شود. برای بررسی صحت عملکرد الگوریتم MOGSA در بهینه­سازی توابع چند هدفه آن را به برخی توابع آزمون استاندارد که در مقالات معتبر مورد استفاده واقع شده­اند، اعمال نموده، نتایج حاصل از آن را با سه الگوریتم بسیار پرکاربرد در بهینه­سازی چند هدفه مقایسه می‌کنیم. 

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

برای بررسی توانایی ابزار پیشنهادی دربهینه‌سازی طراحی خودکار مدارات مجتمع آنالوگ عملکرد آن موردسنجش قرار می­گیرد. برای نمونه، یک مسأله سایزبندی مطرح می­شود: «طراحی یک تقویت کننده عملیاتی مستقل از دما با استفاده از منبع جریان ویدلر کسکود و با تکنولوژی CMOS افزایشی». هدف از طراحی یافتن سایزها و مقادیر المان­های مدار، با شرط بیشینه نمودن پارامترهای خروجیِ بهره ولتاژ، پهنای باند و حاشیه فاز ودرعین حال، کمینه نمودن توان مصرفی است.

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

 

1- روش‌های سنتز در طراحی خودکار مدارات مجتمع آنالوگ

پیشینه طراحی خودکار مدارات مجتمع آنالوگ به حدود 23 سال قبل باز ­می­گردد[1]. ابزارهای طراحی خودکار مدارات مجتمع آنالوگ با توجه به نوع کاربرد به سه گروه: ابزارهای طراحی توپولوژی، ابزارهای طراحی طرح اولیه و ابزارهای طراحی سایزبندی تقسیم­بندی می­شوند. روش­های طراحی خودکار مدارات مجتمع آنالوگ ممکن است شامل یک، دو یا هر سه گروه فوق باشد.

با بررسی تحقیقات انجام شده تا به امروز می­توان روش­های متفاوت در طراحی خودکار مدارات مجتمع آنالوگ را برحسب روش­های سنتز مورد استفاده مطابق شکل (1) دسته­بندی نمود.

 

 

 

شکل (1): نمایش دسته­بندی روش­های سنتز مورد استفاده در طراحی خودکار مدارات مجتمع آنالوگ

 

 

1-1- روش­های مبتنی بر دانش

روش مبتنی بر دانش[9]نخستین بار در برنامه‌هایی همچونBLADES  ]2[، IDAC ]3[، OASYS ]4[، MDAC/ALSC [6-5] ارائه شد. روش مبتنی بر دانش با توجه به توپولوژی‌های از پیش ذخیره شده در حافظه برنامه، چگونگی سایزبندی اجزای مداری را برای رسیدن به پاسخ بهینه مسأله طراحی، توصیف می­کند. برای مثال ابزار IDAC یک ابزار طراحی متعامل[10] است که در آن کاربر این امکان را دارد تا از میان توپولوژی­های تعریف شده در برنامه، توپولوژی مورد نظر خود را انتخاب نماید. سپسIDAC  مقادیر پارامترهای طراحی توپولوژی فوق را ارائه می‌دهد و کاربر می‌تواند بهترین مدار سایزبندی شده را انتخاب نماید، اما OASYS بر اساس کتابخانه‌ای از توپولوژی‌های طراحی به شکل سلسله مراتبی ساخته شده است. در ابتدا یک توپولوژی مداری بر مبنای قوانین ابتکاری تعیین می‌شود، سپس توسط ابزار طراحی سایزبندی می­گردد. چنانچه ابزار طراحی قادر نباشد با طراحی مدار فوق به مشخصات خواسته شده مدار دست یابد، برنامه توپولوژی دیگری را آزمایش می‌کند.

 

1-2- روش­های مبتنی بر بهینه­سازی

روش­های مبتنی بر بهینه­سازی[11] برای سنتز طراحی خودکار از یک موتور بهینه­سازی به جای یک توپولوژی طراحی استفاده می­کند. فرآیند بهینه‌سازی روالی تکرار شونده است که در هرتکرار متغیرهای طراحی بروزرسانی می‌شوند. این فرایند تا زمانی که آنها به یک نقطه تعادل برسند، ادامه می‌یابد. در باب ارزیابی عملکرد نیز، موتور ارزیابی معمولا با استفاده از روش‌های بهینه‌سازی مبتنی بر معادله، بهینه­سازی مبتنی بر شبیه­سازی یا بهینه‌سازی مبتنی بر رفتار  پیاده سازی می­شود.

روش­های مبتنی بر معادله از معادلات طراحی تحلیلی برای ارزیابی عملکرد مدارات استفاده می­کنند. این معادلات به صورت دستی یا خودکار توسط ابزارهای تحلیل نمادین[12] ایجاد می­شوند. سپس مسأله به عنوان یک مسأله بهینه‌سازی فرمول­بندی شده و معمولا با استفاده از روش الگوریتم عددی حل می‌شود. از معروفترین برنامه‌های طراحی خودکار مدارات آنالوگ که از روش مبتنی بر معادله در آنها استفاده شده است، می­توان به Opasyn ]7[، Stalk ]8[، Maulik ]9[، Astrx/Oblx ]10[، Amgie ]11[، GPCAD ]13-12[ و Sd-Opt ]14[ اشاره نمود.

روش­های بهینه­سازی مبتنی بر شبیه‌سازی، همچون Fridge ]15[، Delight.Spice ]16[، FASY ]17[، Anaconda ]18[، Maelstrom ]19[ و Darwin ]20[ از اشکال مختلف شبیه‌سازی برای ارزیابی عملکرد مدار استفاده می­کنند. به طورکلی، این دسته از روشها در تعیین عملکرد بهینه مدار، از نوعی ابزار تحلیلی مدار در حلقه داخلی پروسه بهینه­سازی، استفاده می­کنند.

1-3- مقایسه انواع روش­های سنتز

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

زمان محاسبات وابستگی شدیدی به طبیعت موتور ارزیابی دارد. در روش‌های مبتنی بر دانش، با توجه به اینکه نقشه طراحی از قبل تعریف شده، سرعت اجرای آن از دیگر روش­ها بیشتر است. روش­های مبتنی بر مدل­سازی که از معادلات عددی یا برخی روش­های یادگیری ماشین مصنوعی مشتق می­شوند، قادرند خیلی سریع به پاسخ برسند اما کیفیت نتایج تخمین زده شده فقط به دقت مدل­ها وابسته است. در روش­های مبتنی بر شبیه­سازی که از شبیه­سازهای مداری خیلی دقیقی استفاده می­کنند، نتایج با کیفیت بسیار خوبی ارائه می­شود، اما زمان اجرا طولانی‌تر است [21].

 

2- روش‌های بهینه‌سازی در طراحی خودکار مدارات مجتمع آنالوگ

پس از سنتز مدارات مجتمع آنالوگ به وسیله ابزارهای طراحی خودکار، پاسخ یا مجموعه پاسخ­هایی به عنوان خروجی ارائه می­شود، اما معمولا پاسخ ارائه شده بهترین پاسخ ممکن نبوده، ممکن است با اندکی تغییرات در آن، نتایج بهتری به دست آید. از این رو، در سال‌های اخیر محققان به این سو متمایل شدند تا با ورود روش های بهینه‌سازی به ابزارهای طراحی خودکار، پاسخ­های به دست آمده را تا حدامکان به بهترین پاسخ ممکن نزدیک نمایند. 

امروزه محققان از روش­های بهینه­سازی متفاوتی در ابزارهای طراحی خودکار مدارات مجتمع آنالوگ استفاده می­کنند. با توجه به مطالعات فراوان انجام شده در این زمینه می­توان آنها را به سه دسته کلی تقسیم­بندی نمود]22[: روش­های ریاضی، روش­های ابتکاری و روش­های فازی. در شکل (2) روش­های بهینه­سازی که تاکنون در طراحی خودکارمدارات مجتمع آنالوگ استفاده شده، نمایش داده شده‌اند. در اینجا به فراخور موضوع بر روی روش‌های ابتکاری که تاکنون در طراحی مدارات مجتمع آنالوگ استفاده واقع شده‌اند، متمرکز و برخی از انجام شده معرفی می‌شوند (برای مطالعه جامع‌تر در این زمینه می‌توانید به مرجع ]22[ رجوع کنید)

 

 

 

 


 

شکل (2): نمایش تقسیم­بندی روش­های بهینه­سازی مورد استفاده در طراحی خودکار مدارات مجتمع آنالوگ

 

 

2-1- الگوریتم‌های تکاملی در طراحی خودکار مدارات مجتمع آنالوگ

در ابتدا از الگوریتم ژنتیک فقط برای بهینه‌سازی مدارات خطی آنالوگ استفاده می‌شد، اما پس از مدتی الگوریتم ژنتیک به عنوان یک روش بهینه­سازی کارامد در ابزارهای طراحی خودکار مدارات مجتمع آنالوگ استفاده شد که از آن جمله می‌توان به Darwin ]20[، Menozzi ]23[،Rajagopal ]24[، DELIGHT.SPICE ]16[، Puhan ]25[ در گذشته و از جمله جدیدترین آنها می­توان به Nicosia ]26[، Popuri ]27[، Liu ]28[،Li ]29[، Barros ]21[،گلمکانی ]30[ و بابایان ]31[ اشاره کرد.

از برنامه­نویسی ژنتیک نیز در بهینه­سازی ابزارهایی چون Koza ]32[، Ryose ]33[، Wang ]34[ و Streeter ]35[ استفاده شده است. از دیگر الگوریتم‌های تکاملی که در بهینه‌سازی طراحی خودکار مدارات مجتمع آنالوگ استفاده شده­اند، الگوریتم ایمنی مصنوعی است که از آن جمله می‌توان به Kalinli ]36[ و Norihiro ]37[ اشاره نمود.

 

2-2- الگوریتم­های تصادفی در طراحی خودکار مدارات مجتمع آنالوگ

نخستین بار در سال 1990 برنامه بهینه‌سازی طراحی مدارات آنالوگ به نام Optiman ]38[ با استفاده از الگوریتم بازپخت شبیه‌سازی شده ارائه شد. از آن زمان به بعد، این الگوریتم به عنوان یک روش بهینه­سازی در ابزارهای طراحی مدارات مجتمع آنالوگ استفاده شد. برنامه‌های Yang ]39[، Gbopcad ]40[، Girardi ]41[ وSevero ]42[ از آن جمله هستند.

برای نخستین بار در سال 1990 مقاله‌ای به نام «جستجوی تابو و بهینه سازی طراحی» ارائه شد [43] که مکانیسم جستجوی تابو را با استفاده از مثال‌های ساده توضیح داده و یک مسأله طراحی مدار الکترونیک ساده را بیان کرده است، اما پس از آن استفاده از الگوریتم جستجوی تابو در طراحی مدارات الکترونیک با استقبال بسیار کمی روبه‌رو شد.

 

2-3- الگوریتم‌های هوش جمعی در طراحی خودکار مدارات مجتمع آنالوگ

سال 2001 برنامه­ای به نام جعبه ابزار MatlabTM ارائه شد که در آن از الگوریتم بهینه­سازی کلونی مورچه­ها برای طراحی مدارات آنالوگ ساده استفاده می­شد [44]. پس از آن، محققان تمایل چندانی به استفاده از الگوریتم ACO در طراحی مدارات آنالوگ از خود نشان ندادند.

سابقه اولین استفاده از PSO در طراحی مدارات مجتمع آنالوگ به سال 2003 بر می­گردد و از آن زمان برای بهینه‌سازی جنبه­های مختلف طراحی مدارات مجتمع VLSI، RF، تقویت کننده های CMOS با باند گسترده و ... در طراحی مدارات مجتمع مورد توجه قرار گرفته است، از آن جمله می­توان به Park ]45[، Min Chu ]46[، Mandal ]47[،Fakhfakh ]48[ و Thakker Rajesh ]49[ اشاره نمود.

 

2-4- مقایسه انواع الگوریتم­های ابتکاری

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

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

تحقیقات جدید محققان در زمینه طراحی خودکار مدارات مجتمع آنالوگ نشان می­دهد که تمایل به استفاده از الگوریتم­های هوش جمعی در حال افزایش است. ساختار ساده، همگرایی سریع و وجود زمینه­های تحقیقی فراوان در این حوزه را شاید بتوان از جمله دلایل استقبال محققان از این نوع الگوریتم­ها دانست. از جمله جدیدترین الگوریت‌های هوش جمعی می­توان به الگوریتم جستجوی گرانشی (GSA) اشاره نمود.

 

3- الگوریتم جستجوی گرانشی

الگوریتم جستجوی گرانشی درسال 2009 از سوی خانم راشدی [50] معرفی شد. این الگوریتم با شبیه­سازی قوانینی شبیه به قانون گرانش و حرکت نیوتن در محیطی با زمان گسسته در فضای جستجو، طراحی شده است.

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

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

ویژگی­های مثبت الگوریتم GSA همچون همگراییِ سریع، عدم توقف در بهینه­های محلی، کاهش حجم محاسباتی نسبت به الگوریتم­های تکاملی و عدم نیاز به حافظه در مقایسه با دیگر الگوریتم­های خانواده هوش جمعی، بستر جدیدی از تحقیقات را فرا روی محققان قرار داده است. از این­رو، با توجه به زمینه­های کاربردی مورد استفاده، نسخه­های متفاوتی از الگوریتم GSA ارائه شده است که می­توان به الگوریتم جستجوی گرانشی باینری[13] (BGSA) ]51[ و الگوریتم جستجوی گرانشی نخبه­گرای پیشرفته[14] (AEGSA) ]52[ اشاره کرد. از این الگوریتم در حوزه­های مختلف بهینه­سازی از جمله طراحی فیلتر]53[، انتخاب ویژگی ]54[، جبران سازی توان راکتیو ]55[، فشرده­سازی تصاویر ]56[، طبقه­بندی داده­ها ]57[ و ... استفاده شده است. با توجه به مزایای الگوریتم GSA که در بالا به آن اشاره شد، بر آن شدیم تا از قابلیت­های این الگوریتم در بهینه­سازی مسائل چند هدفه نیزاستفاده نماییم. در ادامه الگوریتم MOGSA معرفی می­شود.

 

4- معرفی الگوریتم MOGSA

در الگوریتم MOGSA از بهینه­سازی پَرِتو برای شناسایی موقعیت­های «غیر غالب» و از یک «مخزن بیرونی» برای نگهداری این موقعیت­ها استفاده می­شود.

در این الگوریتم، ابتدا جمعیت اولیه­ای از اجرام به شکل تصادفی انتخاب می­شود. در هر مرحله پس از محاسبه توابع برازندگی، بهترین اجرام در یک مخزن بیرونی شامل جواب‌های پَرِتو نگهداری می­شوند. سپس با توجه به موقعیت بهترین و بدترین اجرام در هر تکرار، موقعیت اجرام برای تکرار بعدی الگوریتم بروزرسانی می­شود. این الگوریتم با نرم­افزار Matlab پیاده­سازی شده است.

الگوریتم MOGSA شامل مراحل زیر است :

1)         مشخص نمودن ابعاد مسأله (n) و تعداد اجرام موجود در فضای پاسخ (m)

2)         ایجاد جمعیت اولیه (Xi)

در این مرحله جمعیت اولیه­ای شامل موقعیت m جرم، به طور کاملا تصادفی ایجاد می­شود:

(1)

 

 

 

3)         تعیین سرعت اولیه هر یک از اجرام: در این قسمت سرعت اولیه صفر برای هر یک از اجرام تعیین می­شود:

(2)

 

4)         مقداردهی پارامترهای ثابت گرانش ( a وb ).

5)         ایجاد حلقه جستجو for  برای T مرتبه تکرار:

این حلقه مهمترین بخش اجرایی الگوریتم MOGSA است و به مدت T مرتبه تکرار اجرا می­شود. شایان ذکر است در صورتی که بدترین موقعیت یک جرم با بهترین موقعیت آن برابر شود، اجرای این حلقه متوقف می­شود.

  1.       i.                ارزیابی برازندگی هر یک از اجرام جمعیت توسط توابع برازندگی.

(3)

 

 

    F=تعداد اهداف مسأله

  1.     ii.                اعمال شروط «بهینه­سازی پَرِتو» و ذخیره­سازی موقعیت­های اجرام «غیر غالب» در یک مخزن.
  2.   iii.                تعیین موقعیت بهترین وبدترین جرم برای هر یک از توابع هدف.

(4)

 

(5)

 

 

  1.    iv.                نسبت دادن جرم سنگین­تر به عامل­های با شایستگی بیشتر به تفکیک هر یک از توابع هدف.

 

(6)

 
  1.      v.                نرمالیزاسیون اجرام به تفکیک هر یک از توابع هدف و تشکیل ماتریس اجرام.
  2.    vi.                

(7)

 
  1.  vii.                محاسبه ماتریس شتاب اجرام.
  2.  بروزرسانی سرعت اجرام: R1یک عدد تصادفی در بازه ]1-0[ است.

 

(8)

 
  1.    ix.                موقعیت­یابی جدید اجرام.

(9)

 
  1.      x.                ذرات باید به گونه­ای در فضای جستجو نگهداری شوند تا خارج از حدود مرزهای فضای جستجو قرار نگیرند.
  2.    xi.                بروزرسانی محتویات مخزن: این بروزرسانی­ها شامل جادادن همه موقعیت­های غیرغالب فعلی در مخزن است. به طور همزمان «هر موقعیت مغلوب شده در فرایند از مخزن حذف می­شود».
  3.  xii.                کنترل حجم مخزن: از آنجایی که ظرفیت مخزن محدود است، هر زمان که ظرفیت مخزن به حد نصاب رسید، لازم است «ابرمکعب­هایی» در مناطق مرور شده فضای پاسخ تولید شوند و اجرام با توجه به مختصاتشان درون این ابرمکعب­ها قرار گیرند. سپس اَبرمکعب حاوی بیشترین تعداد اجرام شناسایی شده و نقاط مازاد برظرفیت مخزن به طورتصادفی حذف می‌شوند.
  4. پایان حلقه

 

5- سنجش عملکرد الگوریتم MOGSA و مقایسه نتایج

برای بررسی توانایی MOGSA در بهینه­سازی توابع چندهدفه، آن را به برخی توابع آزمون استاندارد اعمال می‌کنیم. توابع آزمونی که در اینجا معرفی می­شوند، توابعی هستند که توسط آقای CoelloCoello برای ارزیابی عملکرد الگوریتم MOPSO  به کار رفته­اند ]58[. برای مقایسه الگوریتم­ها با یکدیگر ازمعیاری استفاده می­کنیم که توسط Zitzler معرفی شده است]59[ :

 

(10)

 

در رابطه بالا 12Y', Y Y ">  مجموعه بردارهای هدف هستند که با یک جفت از بردارهای تصمیم غیر غالب به ترتیب 12X', X X">  متناظر هستند.  Xنیز متناظر با متغیرهای تصمیم­گیری مسأله است.  فاصله میانگین را برای مجموعه بهینه پَرِتو می­دهد. بنابراین، در بهینه‌سازی توابع چندهدفه در مواجه با توابع آزمون، هدف مینیمم کردن این مقدار است. از دیدگاه معیار  الگوریتم MOGSA با سه الگوریتم بسیار پرکاربرد در بهینه­سازی چند هدفه مقایسه شده است: الگوریتم MOPSO ]58[، الگوریتم NSGA-II ]60[ و الگوریتم PAES ]61[.[15] اما لازم است توضیح داده شود که در این مقاله از نظر زمان اجرا، الگوریتم­ها با یکدیگر مقایسه نشده­اند. چون الگوریتم MOGSA با کُد Matlab نوشته شده است، نمی­توان آن را با الگوریتم­های فوق که توسط کد C پیاده­سازی شده­اند، مقایسه نمود. مشخصات الگوریتم­های مورد مقایسه در جدول (1) آمده است.

 

 

جدول (1): مشخصات الگوریتم­های مورد مقایسه

Value

Specific

Algorithm

200

Population Size

NSGA-II

0.8

Crossover Rate

tournament

Selection Type

1/vars

(vars=number of decision variable)

Mutation Rate

5

Depth

PAES

200

Archive Size

1/L (L=Length of the chromosomic string that encodes the decision variables)

Mutation Rate

40

Particles Population

MOPSO

200

Repository Size

30 division

Adaptive Grid

40

Masses Population

MOGSA

200

Repository Size

30

Adaptive Grid

40 , 100

a , b

 

 

  • تابع آزمون 1

نخستین تابع آزمون در زیر بیان شده است:

 

(11)

 

 

 

(12)

 

(13)

 

 

این مسأله جبهه پَرِتو ناپیوسته دارد و شامل چهار منحنی پَرِتو است. میانگین معیار  حاصل از اجرای الگوریتم‌های فوق در ستون اول جدول (2) آمده است. در این آزمون تمام نتایج برای 4000 بار تکرار هر الگوریتم آورده شده است.

 

  • تابع آزمون 2

دومین تابع آزمون در زیر بیان شده است:

 

(14)

 

(15)

 

(16)

 

 

این مسئله نیز جبهه پَرِتو ناپیوسته دارد. میانگین معیار حاصل از اجرای الگوریتم­های فوق در ستون دوم جدول (2) آمده است. در این آزمون تمام نتایج برای 1200 بار تکرار هر الگوریتم آورده شده است.

 

  • تابع آزمون 3

سومین تابع آزمون در زیر بیان شده است:

 (17)

 

(18)

 

(19)

 

 

این مسأله 60 جبهه پَرِتو «محلی» دارد که به راحتی می‌تواند جمعیت عامل­ها را جذب کند (یعنی یک مسأله‌ای چند جبهه­ای است). میانگین معیار  حاصل از اجرای الگوریتم­های فوق در ستون سوم جدول (2) آمده است. در این آزمون تمام نتایج برای 3200 بار تکرار هر الگوریتم آورده شده است.

شکل­های (3-5) جبهه پَرِتو تولید شده توسط الگوریت‌های NSGA-II، PAES، MOPSO و MOGSA را بترتیب برای نخستین، دومین و سومین تابع آزمون نشان می­دهند. این اشکال توانایی الگوریتم پیشنهادی MOGSA را در یافتن پاسخ­های غیر غالب و در عین حال پراکندگی مناسب پاسخ­ها را در کنار دیگر الگوریتم­های چندهدفه پرکاربرد نشان می­دهند. جدول (2) نشان  می­دهد روش MOGSA از نظر میانگین معیار  در هر سه تابع آزمون عملکرد بسیار بهتری از الگوریتم‌ها‌ی تکاملی چندهدفه NSGA-II و PAES و الگوریتم هوش جمعی MOPSO دارد. با توجه به تصادفی بودن الگوریتم‌های فوق، نتایجِ حاصل، میانگین 20بار تکرار هر الگوریتم است.

 

 

   

 

شکل (3): جبهه پَرِتو تولید شده توسط الگوریتم­های NSGA-II، PAES، MOPSO و MOGSA برای نخستین تابع آزمون

 

   

شکل (4): جبهه پَرِتو تولید شده توسط الگوریتم­های NSGA-II، PAES، MOPSO و MOGSA برای دومین تابع آزمون

 

   

شکل (5): جبهه پَرِتو تولید شده توسط الگوریتم­های NSGA-II، PAES، MOPSO و MOGSA برای سومین تابع آزمون

 

 

جدول (2): مقایسه میانگین معیار  حاصل از اجرای الگوریتم­های NSGA-II، PAES، MOPSO و MOGSA برای سه تابع آزمون

 

6- معرفی ابزار بهینه­سازی پیشنهادی در طراحی خودکار مدارات مجتمع آنالوگ

تابع آزمون 3

تابع آزمون 2

تابع آزمون 1

 

094644/0

001594/0

002536/0

NSGA-II

259664/0

070003/0

002881/0

PAES

0011611/0

0014739/0

002057/0

MOPSO

001112/0

000215/0

0016138/0

MOGSA

در این مقاله یک ابزار بهینه­سازی جدید در طراحی خودکار مدارات مجتمع آنالوگ پیشنهاد می­شود. در این ابزار، ابتدا پاسخ­های مورد نظر از طریق شبیه­سازی به دست آمده، سپس به وسیله الگوریتم MOGSA تحت بهینه­سازی قرار می­گیرند.

فلوچارت کلی این ابزار در شکل (6) نشان داده شده است. برنامه­های اصلی آن با نرم­افزار Matlab نوشته شده و شبیه‌سازی مدارات توسط  نرم­افزار Hspice انجام شده است.

در ابزار پیشنهادی ابتدا توسط الگوریتم MOGSA ، به طور کاملا تصادفی تعدادی پاسخ کاندید از میان بازه­های از پیش تعیین شده طراحی انتخاب و برای سایزبندی مدار مورد نظر ارائه می­شود. سپس پاسخ­های پیشنهادی توسط نرم­افزار Matlab به فایل ورودی .sp نرم­افزار Hspice منتقل می­شود. نرم­افزار Hspice مدار مورد نظر را با توجه به پاسخ­های پیشنهاد شده به آن شبیه­سازی و مقادیر خروجیِ بهره، پهنای باند، حاشیه فاز و توان مصرفی را در فایل خروجی .lis ذخیره می­کند. سپس نرم­افزار Matlab این مقادیر خروجی را از فایل .lis استخراج می­کند.

 

 

خیر

 

بله

 

فایل .sp را باز کن و سایزهای پیشنهادی را وارد نما

 

نرم­افزار Hspiceرا اجرا کن

 

مخزن

 

فایل .lis را بازکن  و مقادیر بهره، پهنای باند، حاشیهفاز و توان  مصرفی را بخوان

 

شروع

 

   مقداردهی اولیه سایز المان­های مدار مورد نظر به طور تصادفی

 

اِعمال فرآیند بهینه­سازی توسط الگوریتم MOGSA

 

محاسبه سایزهای جدید برای تکرار بعدی الگوریتم

 

اِعمال معیارهای طراحی

بر محتویات مخزن

 

ارائه محتویات موجود در مخزن

 

آیا تعداد تکرارها

به حد تعیین شده

رسیده است؟

 

پایان

 

 بروز رسانی جبهه پَرِتو

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


شکل (6): فلوچارت ابزار بهینه­سازی پیشنهادی

 

 

در ادامه، مقادیر خروجی حاصل از شبیه­سازی Hspice که در شرایط بهینگی پَرِتو صدق می­کنند انتخاب و در یک مخزن بیرونی نگهداری می­شوند. سپس الگوریتم MOGSA با اجرای فرایند بهینه­سازی بر روی پاسخ‌های اولیه، پاسخ­های جدیدی را برای تکرار بعدی الگوریتم آماده می­کند. این فرایند برای تعداد معینی از تکرارها اجرا می­شود تا در نهایت با توجه به مقادیر خروجی بهره، پهنای باند، حاشیه فاز و توان مصرفی به دست آمده به بهترین سایز بندی ممکن برای المان­های مدار مورد نظر دست یابیم.

 

7- ارزیابی ابزار پیشنهادی

برای بررسی توانایی ابزار پیشنهادی در طراحی خودکار مدارات مجتمع آنالوگ عملکرد آن سنجش می‌شود. در اینجا برای نمونه، یک مسأله سایزبندی مطرح می­شود: «طراحی یک تقویت کننده عملیاتی مستقل از دما با استفاده از منبع جریان ویدلر کسکود با تکنولوژی CMOS افزایشی». برنامه­های ابزار پیشنهادی توسط لپ‌تاپ Core™ 2 Due 2.26 GHz اجرا شده است.

 

7-1- شرایط مسأله نمونه

در مسأله نمونه طراحی، از ساختار پیشنهادی در شکل (7) استفاده می­شود. در این تقویت کننده از یک منبع­جریان ویدلر کسکود به عنوان منبع جریان بایاس ورودی، یک ترانزیستور (M11) در ناحیه Triode برای افزایش حاشیه فاز و پهنای باند، و خروجی کلاس AB برای افزایش ماکزیمم نوسان‌های متقارن در خروجی بهره گرفته شده است. مشخصات تقویت کننده عملیاتی مورد نظر در جدول (3) آمده است.

 

جدول (3): مشخصات طراحی تقویت کننده عملیاتی مسئله نمونه

Required

Specification

> 30K

Dc Gain

>10MHz

Unity Gain Bandwidth

>70

Phase Margin

as low as possible

Power Dissipation

+5V & -5V

VDD  & VSS

 

در طراحی مدار فوق فقط اندازه مقاومت و ترانزیستورهای مربوط به منبع جریان ویدلر کسکود ثابت در نظر گرفته شده است، اما مقادیر بقیه المان­ها جزو پارامترهای طراحی مدار هستند که توسط ابزار طراحی پیشنهادی به دست می­آیند. این پارامترها عبارتند از:

*           مقدار L و W/L ترانزیستورهای M1 و M2

*           مقدار L و W/L ترانزیستورهای M3 و M4

ترانزیستورهای فوق دو به دو مشابه‌اند.

*           مقدار L و W/L ترانزیستور M5-M13

*           مقدار خازن جبران ساز CC

برای افزایش سرعت همگرایی الگوریتم بهینه­سازی مناسب است که محدوده مجاز تغییرات پارامترها توسط طراح مشخص شود، زیرا در هنگام اجرای الگوریتم، پس از شبیه­سازی مدار ابتدا بررسی می­شود که تمام ترانزیستورها بجز M11 در ناحیه فعال حضور دارند. در غیر این صورت آن جواب در تکرارهای بعدی حذف می­شود (ترانزیستور M11 در ناحیه Triode عمل می­کند). پارامترهای خروجی مورد نظر عبارتند از: بهره ولتاژ، پهنای باند، حاشیه فاز و توان مصرفی که به عنوان توابع برازندگی در الگوریتم بهینه‌سازی چندهدفه استفاده می­شوند.

 

7-2- نتایج طراحی ابزار پیشنهادی

مشخصات الگوریتم MOGSA در ابزار پیشنهادی برای بهینه­سازی فرایند طراحی مسأله نمونه در جدول (4) آمده است.

پس از 200 بار تکرار اجرای الگوریتمِ بهینه­سازی، تعداد کل پاسخ­هایی که توسط ابزار پیشنهادی بررسی شد، شامل 4000 پاسخ شد که از این میان 163 پاسخ دارای شرایط بهینگی پَرِتو بوده، وارد مخزن می­شوند. از میان پاسخ­های درون مخزن نیز 142 پاسخ محدودیت­های موجود در طراحی مدار مورد نظر را برآورده می­کنند. مدت زمان مورد نیاز برای عملکرد ابزار پیشنهادی فقط به تعداد اجراهای Hspice وابسته بوده، حدود 1174 ثانیه (کمتر از 20 دقیقه) برآورد شد. 

 

 

شکل (7) : ساختار پیشنهادی تقویت کننده مسأله نمونه طراحی

 

 

.جدول (4): مشخصات پارامترها در ابزار بهینه­سازی پیشنهادی با الگوریتم MOGSA

Value

Algorithm Setup

20

Population of Masses

21

Number of Input Parameters

4

Number of Output Parameters

200

Number of Iterations

20

a

100

b

200

Content of Repository

 

نتایج نهایی حاصل از عملکرد ابزار بهینه­سازی پیشنهادی در سایزبندی خودکار المان­های مدار مورد نظر در جدول (5) آورده شده است. در شکل­های (10-8)، مقادیر توابع برازندگی اعضای جبهه پَرِتو و تمام پاسخ­های موجود دو به دو نسبت به هم رسم شده­ است.

همان طور که ملاحظه می­شود، جواب­های با پهنای باند بیشتر توان بیشتری مصرف می­کنند (شکل (8)). تقابل میان پهنای باند و حاشیه فاز در شکل (9) و در شکل (10) نیز تقابل میان پهنای باند و بهره ولتاژ نشان داده شده است. شایان ذکر است که پاسخ 1 پاسخ به ازای بزرگترین بهره ولتاژ، پاسخ 2 پاسخ به ازای بزرگترین پهنای باند، پاسخ 3 پاسخ به ازای بزرگترین حاشیه فاز، پاسخ 4 پاسخ به ازای کوچکترین توان مصرفی و پاسخ 5 پاسخی به نسبت متناسب نسبت به تمام معیارها برای پارامترهای خروجی است.

 

8- نتیجه‌گیری

در این مقاله یک ابزار بهینه­سازی جدید در طراحی خودکار مدارات مجتمع آنالوگ مبتنی بر الگوریتم MOGSA پیشنهاد شده است. این ابزار توانایی جستجوی وسیع و مؤثری در بازه­های از پیش تعیین شده طراحی دارد. ابزار فوق در ابتدا با استفاده از شبیه­ساز Hspice مدار مورد نظر را شبیه­سازی می­کند، سپس نتایج شبیه­سازی به وسیله الگوریتم MOGSA تحت بهینه­سازی قرار می­گیرند و تا حصول نتیجه مطلوب این روند ادامه می­یابد.

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

الگوریتم پیشنهادی MOGSA روش نوینی را در بهینه‌سازی چندهدفه مبتنی بر الگوریتم جستجوی گرانشی معرفی می­کند که ضمن حفظ پراکندگی جواب­ها در حوزه توابع هدف از سرعت همگرایی بسیار بالایی نیز برخوردار است. این الگوریتم برای مسائل بهینه­سازی که محاسبه توابع هزینه آن زمانبر است ( اکثر مسائل مبتنی بر شبیه­سازی) روش مؤثرتری است. برای اطمینان از صحت عملکرد روش ارائه شده در مواجه با مسائل بهینه­سازی چند هدفه، به وسیله چندین تابع استانداردِ معتبر آزمایش شده است. نتایج نهایی حاصل از مقایسه الگوریتم MOGSA با سه الگوریتم پرکاربرد نشان داد در تمام موارد الگوریتم پیشنهادی از توانایی بالاتری در بهینه­سازی چند هدفه برخوردار است. از این رو، به جرأت می­توان ادعا کرد در آینده الگوریتم MOGSA رقیب سرسختی برای الگوریتم­های بهینه­سازی در کاربردهای چند هدفه خواهد بود.

 

 

 

جدول (5): مقایسه میان محاسبات دستی و چند جواب ابزار بهینه­سازی در سایزبندی خودکار مسأله نمونه

 

 

 

 

 

شکل (8): تقابل میان پهنای باند و توان مصرفی در مسأله طراحی، اعضای جبهه پَرِتو (الف) تمام پاسخ­های موجود (ب)

 

شکل (9): تقابل میان پهنای باند و حاشیه فاز در مسأله طراحی، اعضای جبهه  پَرِتو (الف) تمام پاسخ­های موجود (ب)

 

 

شکل (10): تقابل میان پهنای باند و بهره ولتاژ در مسأله طراحی، اعضای جبهه پَرِتو (الف) تمام پاسخ­های موجود (ب)



[1] System-on-Chip

[2] Layout

[3] Time-to-Market

[4] Synthesis

[5] Swarm Intelligence

[6] Pareto-Optimality

[7] Non-Dominated Positions

[8] External Repository

[9] Knowledge-based Approach

[10] Interactive

[11] Optimization-based Approach

[12] Symbolic Analysis

[13] Binary Gravitational Search Algorithm

[14] Advanced Elitist Gravitational Search Algorithm

[15] کد اصلی الگوریتم­های MOPSO، NSGA-II و PAES از نویسندگان اصلی را می­توان از مخزن نرم­افزاری EMOO از آدرس زیر دانلود نمود:

http://www.lania.mx/~ccoello/EM00/EM00software.html

14] Medeiro, F., Perez Verdu, B., Rodriguez Vazquez, A., Huertas, J.L., “Avertically integrated tool for automated design of modulators”, IEEE J. Solid-State Circuits 30(7), July1995.
[15] McKay, M.D., Conover, W.J., Beckman, R.J., “A comparison of three methods for selecting values of input variables in the analysis of output from a computer code”, Techno metrics 21, pp. 239–245, 1979.
[16] Nye, W., Riley, D.C., Sangiovanni-Vincentelli, A., Tits, A.L., “DELIGHT.SPICE: an optimization-based system for the design of integrated circuits”, IEEE Trans. Comput. Aided Des. 7(4), pp. 501–519, April 1988.
[17] Torralba, A., Chavez, J., Franquelo, L.G., “FASY: a fuzzy-logic based tool for analog synthesis”, IEEE Trans. Comput. Aided Des. Integrated Circuits 15(7), pp. 705–715, 1996.
[18] Phelps, R., Krasnicki, M., Rutenbar, R., Carley, L.R., Hellums, J., “ANACONDA: simulation-based synthesis of analog circuits via stochastic pattern search”, IEEE Trans. CAD19(6), pp. 703–717, 2000.
[19] Krasnicki, M., Phelps, R., Rutenbar, R., Carley, L.R., “MAELSTROM: efficient simulation-based synthesis for custom analog cells”, in: Proceedings of the ACM/IEEE Design Automation Conference (DAC), pp. 945–950, 1999.
[20] Kruiskamp, W., Leenaerts, D., “DARWIN: CMOS op-amp synthesis by means of a genetic algorithm”, in: Proceedings of the ACM/IEEE Design Automation Conference(DAC) , pp. 550–553, 1995.
[21] Barros, M., Guilherme, J., Horta, N., “Analog circuits optimization based on evolutionary computation techniques”, INTEGRATION, the VLSI journal 43, pp. 136–155, 2010.
[22] ده­باشیان، مریم، " کاربرد روش های بهینه­سازی در طراحی مدارات مجتمع آنالوگ و دیجیتال "، سمینار کارشناسی ارشد الکترونیک، دانشگاه بیرجند، اردیبهشت ماه 1389.
[23] Menozzi, R., Piazzi, A., Contini, F., "Small-Signal Modeling for Microwave FET Linear Circuits Based on a Genetic Algorithm", IEEE Transactions on Circuits and Systems-I: Fundamental Theory and Applications, pp. 839-847, Vol. 43, No.10, October 1996.
[24] Rajagopal, C., Sridhar, K., Nunez, A., “RF CMOS Circuit Optimizing Procedure and Synthesis Tool”, EECS Department, Syracuse University, NY –13244, GLSVLSI’03, Washington, DC, USA, 2003.
[25] Puhan, J., Fajfar, I., Tuma, T., Burmen, A., “Integration of Generic Optimization Algorithms in SPICE”, Elektrotehniški vestnik 68(1), Electrotechnical Review, Slovenia, 2001.
[26] Nicosia, G., Rinaudo, S., Sciacca, E., “An evolutionary algorithm-based approach to robust analog circuit design using constrained multi-objective optimization”, Knowledge-Based Systems 21,pp. 175–183, 2008.
[27] Popuri, V., “Bias-driven Robust Analog Circuit Sizing Scheme”, Electrical Engineering Department, University of California, Los Angeles, 2009.
[28] Liu, B., Wang, Y., Yu, Z., Liu, L., Li, M., Wang, Z., Lu, J., Fernandez, F.V., “Analog circuit optimization system based on hybrid evolutionary algorithms”, INTEGRATION, the VLSI journal 42, pp. 137–148, 2009.
[29] Li, Y., “A simulation-based evolutionary approach to LNA circuit design optimization”, Applied Mathematics and Computation 209, PP. 57–67, 2009.
[30] گلمکانی، عباس، "ارائه یک CAD برای طراحی و بهینه­سازی المان­ها و مدارهای مجتمع RF"، پایان نامه دکتری الکترونیک، دانشگاه فردوسی، مشهد، زمستان 1388.
[31] بابایان مشهدی، سمانه، "بهینه­سازی طراحی مدارات مجتمع آنالوگ ولتاژ پایین با توان مصرفی کم بوسیله الگوریتم­های ژنتیک چند هدفه"، پایان نامه کارشناسی ارشد الکترونیک، دانشگاه فردوسی، مشهد، تابستان 1387.
[32] Koza, J.R., Al-Sakran, S.H., Jones, L.W., “Cross-domain features of runs of genetic programming used to evolve designs for analog circuits”, in: Proceedings of 2005 NASA/DoD Conference on Evolvable Hardware, pp. 205–212, 2005.
[33] Ryose, H., Jin no, K., Hirose, H., “Automated Synthesis of Simple Nonlinear Analog Circuits by Means of Genetic Algorithm”, Journal of Signal Processing, Vol. 8, No. 6, pp. 529-535, November 2004.
[34] Wang, F., Li, Y., Li, L., Li, K., “Automated analog circuit design using two-layer genetic programming”, Applied Mathematics and Computation 185, pp. 1087–1097, 2007.
[35] Streeter, M.J., Keane, M.A., Koza, J.R., “Automatic synthesis using genetic programming of both the topology and sizing for five Post 2000 patented analog and mixed analog-digital circuits”, Southwest Symposium on Mixed-Signal Design, pp. 5–10, 2003.
[36] Kalinli, A. , “Optimal Circuit Design Using Immune Algorithm”, Artificial Immune Systems, Springer Berlin/Heidelberg, Volume 3239/2004, pp. 42-52, 2004.
[37] Norihiro, K., Nobukazu, T., “Optimizing method for analog circuit design
 using immune algorithm”, Papers of Technical Meeting on Electronic Circuits, IEE Japan(2005), VOL. 05, NO. 38-47, pp .37-42, 2005.
[38] Gielen, G.G.E., Walscharts, H.C.C., and Sansen, W.M.C., “Analog circuit design optimization based on symbolic simulation and simulated annealing”, IEEE Journal of SolidState Circuits, 25:707–713, June 1990.
[39] Yang, H.Z., Fan, C.Z., Wang, H., Liu, R.S., “Simulated Annealing Algorithm with Multi-Molecule: An Approach to Analog Synthesis”, Proceedings of the 1996 European conference on Design and Test, Publisher  by IEEE Computer Society, p. 571, 1996. 
[40] Yuan, J., Farhat, N.H., Van der Spiegel, J., “GBOPCAD: A Synthesis Tool for High-Performance Gain-Boosted Opamp Design”, IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS—I: REGULAR PAPERS, VOL. 52, NO. 8, AUGUST 2005.
[41] Girardi, A., Bampi, S., “Power Constrained Design Optimization of Analog Circuits Based on  Physical gm/ID Characteristics”, Journal Integrated Circuits and Systems, V.2 / No.1, pp. 22-28, 2007.
[42] Severo, L. Girardi, C., A., “An Optimization-Based Tool For Circuit Level Synthesis Analog Integrated Circuits”, Federal University of Pampa, 2009.
[43] Bland, J.A., Dawson, G.P., “Tabu search and design optimization”, Computer-Aided Design, Volume 23, Issue 3, pp. 195-201, April 1990.
[44] Tamplin, M.R., Hamilton, A., “Ant circuit world: an Ant algorithm MATHLAB toolbox for the design, visualization and analysis of analogue circuits”, Proceedings of the International Conference on Evolvable Systems: From Biology to Hardware, Lecture Notes in Computer Science, Springer-Verlag, PP.  151-158, Berlin, Heidelberg, New York, 2001.
[45] Park, J., Choi, k., Allstot, J., "Parasitic-Aware RF Circuit Design and Optimization,” IEEE Trans. on Circuits and Systems-I: Regular Papers, Vol. 51, No. 10, Oct. 2004.
[46] Chu, M, Allstot, D.J., "An Elitist Distributed Particle Swarm Algorithm for RF IC Optimization,” Proceedings of the 2005 conference on Asia South Pacific design automation, Shanghai, China, 2005.
[47] Mandal, S.K., Sural, S.,  Patra, A.,“ANN- and PSO-Based Synthesis of On-Chip Spiral Inductors for RF ICs”, IEEE Trans. on Computer-Aided Design of Integrated Circuits and Systems, Vol. 27, NO. 1, pp. 188 – 192, Jan. 2008.
[48] Fakhfakh, M., Cooren, Y., Sallem, A., Loulou, M., Siarry, P., “Analog circuit design optimization through the particle swarm optimization technique”, Analog Integrated Circuits and Signal Processing, Volume 63, Netherlands:Springer, pp.71-82, 2009.
[49] Thakker Rajesh, A., Shojaei Baghini, M., Patil, M. B., “Automatic Design of Low-Power Low-Voltage Analog Circuits Using Particle Swarm Optimization with Re-Initialization”, Journal of low power electronics, ISSN 1546-1998, vol. 5, pp. 154,  2009.
[50] Rashedi, E., Nezamabadi-pour, H., Saryazdi, S., “GSA: A Gravitational Search Algorithm”, Information Sciences, Vol. 179, pp. 2232–2248, 2009.
[51] راشدی، عصمت؛ نظام­آبادی پور، حسین و سریزدی، سعید. الگوریتم جستجوی گرانشی باینری، هشتمین کنفرانس ابزار­های هوشمند، دانشگاه فردوسی مشهد 1386.
[52] ده­باشیان، مریم، ظهیری، سیدحمید، الگوریتم جستجوی گرانشی نخبه­گرای پیشرفته، اولین کنفرانس انرژی­های تجدیدپذیر و تولید پراکنده ایران، دانشگاه بیرجند، 1388.
[53] راشدی، عصمت؛ نظام­آبادی پور، حسین. طراحی فیلترهای IIR به وسیله الگوریتم جستجوی گرانشی، شانزدهمین کنفرانس مهندسی برق ایران، دانشگاه تربیت مدرس، تهران، 1387.
[54] راشدی، عصمت؛ نظام­آبادی پور، حسین. انتخاب ویژگی با استفاده از الگوریتم جستجوی گرانشی، سومین کنفرانس فناوری اطلاعات و دانش، دانشگاه فردوسی، مشهد، 1386.
[55] Rashedi, E., Nezamabadi-pour, H., Saryazdi, S, “Allocation of static var compensator using gravitational search algorithm”, First Joint Congress on Fuzzy and Intelligent Systems Ferdowsi University, Iran, 2007.
[56] ده­باشیان، مریم؛ ظهیری، سیدحمید و مهرشاد، ناصر، آموزش شبکه عصبی MLP در فشرده­سازی تصاویر با استفاده از روش GSA، ششمین کنفرانس ماشین بینایی و پردازش تصویر ایران ، دانشگاه اصفهان، 1389.
[57] ده‌باشیان، مریم، ظهیری، سیدحمید. آموزش شبکه عصبی MLP در طبقه­بندی داده­ها با استفاده از روش GSA، نشریه مهندسی برق و مهندسی کامپیوتر ایران، 1389.
[58] Coello Coello, C.A., Lechuga, M.S., “MOPSO: A proposal for multiple objective particle swarm optimization”, In Congress on Evolutionary Computation (CEC’2002), IEEE Service Center, Vol. 2, pp.1051–1056, Piscataway, New Jersey, May2002.
[59] Zitzler, E., Deb, K., Thiele, L., “Comparison of Multiobjective Evolutionary Algorithms: Empirical Results”, Evolutionary Computation, 8(2), pp.173-195, 2000.
[60] Deb, K., Agrawal, S., Pratab, A., Meyarivan, T., “A Fast Elitist Non-Dominared Sorting Genetic Algorithm for Multi-Objective Optimization: NSGA-II”, In Proceeding of the Parallel Problem Solving from Nature VI Conference, pp. 849-858. Springer, 2000.
[61] Knowles, J.D. and Corne, D.W., “Approximating the Non-dominated Front Using the Pareto Archived Evolution Strategy”, Evolutionary Computation, 8(2), pp. 149-172, 2000.