بهینه‌سازی نقشه ساختمان

تغییرات پروژه از ابتدا تا تاریخ 1394/01/29
در این پروژه شما با استفاده از خانواده الگوریتم‌های ژنتیک سعی می‌کنید، نقشه‌ای بهینه برای ساختمان طراحی کنید. در واقع محصول شما باید از مساحت زمین مشخص‌شده به عنوان ورودی، بهترین استفاده را برای قرار دادن اتاق‌ها بکند. تعریف دقیق مساله بر عهده خود شماست و می‌توانید دیگر معیارهای یک نقشه خوب، مثل میزان نورگیری فضاها را هم مدل‌سازی کنید.

# مقدمه
بشر همواره به دنبال کسب رفاه بیشتر است.این تلاش در تمام جنبه های زندگیش نمود پیدا کرده است.افق نهایی این پروژه نیز همچون گذشته، در این راستاست.هدف نهایی پروژه، هوشمند کردن طراحی نقشه ساختمانی است.به طوری که ماشین، طرح بهینه یک نقشه را بدون دخالت انسان انجام دهد.
ما در اینجا برای شروع، مساله را به اندازه کافی کوچک و محدود خواهیم کرد.برای این کار تنها بخشی از ضوابط طرح های معماری و شهرسازی را در نظر گرفته ایم.
فرض اول: ضخامت دیوار ها را صفر فرض کردیم.
فرض دوم:زمین ورودی باید به شکل مستطیل به برنامه داده شود.
فرض سوم:زمین ورودی، حیاط دار می باشد و 40 درصد از زمین را حیاط تشکیل می دهد.
فرض چهارم: زمین ما شمالی-جنوبی است.
فرض پنجم:این نقشه برای اقلیم تهران و مثل خانه های امروزی در نظر گرفته شده است.یعنی حوض های وسط عمارت و ... در آن جایگاهی ندارد.
فرض ششم: این نقشه برای یک خانه یک طبقه در نظر گرفته شده است که راه پله ی آن در حیاط می باشد.
برای این کار الگوریتم های متفاوتی وجود دارد،ما در این پروژه قصد داریم از الگوریتم ژنتیک استفاده کنیم.هدف، تولید نقشه مطلوب و مشتری پسند است.یعنی اتاق ها باید به گونه ای باشد که اولا راه دسترسی به اتاق ها صحیح باشد و ثانیا نور مناسب به هریک از بخش های خانه برسد.
قرار است از کاربر ابعاد زمین و اتاق ها و همچنین واحد های همسایگی گرفته شود، و با توجه به این اطلاعات، نقشه مناسب در خروجی ظاهر شود.
منظور از واحد همسایگی این است که کاربر باید مشخص کند که خانه ی او از چند طرف همسایه دارد.این کار از آن جهت کاربر دارد که اولا درب حیات و جهت خانه را مشخص کنیم، ثانیا نیاز به نورگیر را تشخیص دهیم.
از کاربرهای این پروژه، اولا می توان به تهیه نقشه های معماری به طور هوشمند و بدون دخالت انسان اشاره کرد.ثانیا میتوان از طراحی مدارات مجتمع بزرگ مقیاس نام برد.

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

# کارهای آینده

# مراجع

+ [1] علیرضا نوریان، "طراحی نقشه ساختمان با استفاده از محاسبات تکاملی"، پایان‌نامه کارشناسی، دانشگاه علم و صنعت ایران، ۱۳۹۰. [لینک](https://dl.dropboxusercontent.com/u/90405495/undergrad-report.pdf)
+ [2] Paul Merrel , Eric Schkufza , Vladlen Koltun ; Compute-Generated Residential Building Layouts ; Stanford University
+ [3] Suphachai Sutanthavibul , Eugene Shragowitz , Member , IEEE and J.B Rosen ; An Analitycal Approach To FloorPlan Design and Optimization
+ [4] S. Cahon, N. Melab, and E. G. Talbi, “ParadisEO: A Framework for the Reusable Design ofParallel and Distributed Metaheuristics,” Journal of Heuristics, vol. 10, pp. 357-380, May 2004.
+ [5]An algorithm for building rectangular floor-plansAuthors: Sany M. Leinwand University of Illinois, Chicago, Dept. EECSYen-Tai Lai University of Illinois, Chicago, Dept. EECS