کشاورزی ماشینی

مهندسی مکانیک بیوسیستم

مهندسی مکانیک بیوسیستم

امیدی ارجنکی
دکتری مهندسی مکانیک بیوسیستم

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

آخرین نظرات
در پست های قبلی مقاله ای با عنوان تحلیل و بهینه سازی پروفایل ساقه کولتیواتور برایتان گذاشتم که از روش SQP برای بهینه سازی مسئله خودش استفاده کرده بود.

برنامه ریزی درجه دوم متوالی یک روش تکرار پذیر بسیار مناسب و مفید برای حل عددی مسائل بهینه سازی غیر خطی است. این روش دنباله ای از یک مجموعه مسائل بهینه سازی را حل میکند که هر کدام از آن مسائل یک مدل دو بعدی از موضوع هدف را به یک خطی سازی از شروط بهینه میکنند. اگر مسئله هیچ گونه محدودیت و شرطی نداشت، این روش به روش نیوتن کاهش پیدا میکند. در روش نیوتن نقطه ای پیدا می شود که در آن نقطه گرادیان هدف ناپدید می شود. محدودیت ها به دو نوع برابری و نابرابری (شروط مساوی و نامساوی) تقسیم می شوند. اگر مسئله فقط شروط مساوی داشت، روش SQP معادل استفاده از روش نیوتن برای شرایط بهینگی مرتبه اول مسئله (یا شروط کاروش-کان-تاکر ) است. روش SQP را می توان در متلب اجرا کرد.

مطابق یک مسئله بهینه سازی غیر خطی (NLP) به شکل زیر داریم:
minimize f(x)  ,over x∈R^n    ,   subject to h(x)=0 ,g(x)≤0
که در آن f تابع هدف و توابع h و g، شروط مساوی و نامساوی را توصیف میکنند. اگر تابع هدف دو بعدی باشد و توابع شرط معین مسئله (NLP) حالت دو بعدی پیدا می کند.
روش SQP یک روش تکرار پذیر است که NLP را برای یک تکرار مشخص x^k که k∈N_0 و با یک سری زیر مسئله برنامه ریزی دو بعدی مدل می کند. زیر مسئله ها را حل میکند و از حل آنها برای ساخت یک تکرار جدید x^(k+1) استفاده میکند. این ساختار پایان می پذیرد به گونه ای که دنباله (x^k )_(k∈N_0 ) به یک x^* مینیمم همگرا می شود. روش حل و بیان تئوری آن به علت پیچیده بودن و نیاز به دانش ریاضی پیشرفته در این نوشته نمی گنجد. توجه شود که توابع هدف و شرط باید توابع غیر خطی صاف (یکنواخت)  باشند. یکنواختی بدان معنی است که حداقل قابلیت مشتق پذیری درجه اول را داشته باشند.
برای حل اینگونه مسائل در MATLAB، جعبه ابزاری به نام جعبه ابزار بهینه سازی وجود دارد. یکی از ابزارهای این جعبه برای حل مسائل SQP استفاده می شود:
x = fmincon(fun,x0,A,b)
در این شکل، ابزار از مقدار x_0 شروع کرده تا حداقل x تابع fun را بیابد با توجه به A*x≤b*x_0. پارامتر های A و b نامساوی های خطی هستند.
همچنین در شکل دیگر از این ابزار داریم:
x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub)
در این شکل از استفاده نیز ابزار با تعریف حداقل و حداکثر x (lb,ub)، جواب بین این دو مقدار بدست می آید. پارامتر های Aeq و beq مساوی های خطی هستند.
برای اینکه توابع شروط نامساوی و مساوی غیر خطی را هم منظور کرد شکل زیر از تابع را داریم:
x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon)
این شروط در قسمت nonIcon وارد می شوند. مثلاً:
x = fmincon(@myfun,x0,A,b,Aeq,beq,lb,ub,@mycon)
که پارامتر mycon به قرار زیر است:
function [c,ceq] = mycon(x)
c = ... % Compute nonlinear inequalities at x.
ceq = ... % Compute nonlinear equalities at x.
به عنوان یک مثال از مسئله بهینه سازی در متلب، می خواهیم xای پیدا کنیم که تابع f(x)=-x_1 x_2 x_3 را با شروع از نقطه x=[10;10;10] و با توجه به شرط 0≤x_1+2x_2+2x_3≤72 حداقل کند. ابتدا در متلب m-فایلی را برای تعریف تابع هدف می نویسیم:
function f = myfun(x)
f = -x(1) * x(2) * x(3);
سپس شرط ها را بازنویسی میکنیم تا دو شرط کوچکتر مساوی داشته باشیم:
-x_1-2x_2-2x_3≤0
x_1+2x_2+2x_3≤72
هر دو شرط خطی هستند که آنها را به صورت ماتریسی و به شکل A.x≤b بازنویسی میکنیم:
A=[-1,-2,-2;1,2,2],     b=[0;72]
و در ادامه:
x0 = [10; 10; 10]; % Starting guess at the solution
[x,fval] = fmincon(@myfun,x0,A,b)
که بعد از 66 تکرار مقدار زیر حاصل شد:
fval =
       -3.4560e+03
و شروط نامساوی خطی به مقدار کمتر یا مساوی صفر تخمین زده شدند.
A*x-b=
              -72
              0
همچنین کتابخانه ای پیشرفته تر به نام SQPLab برای این منظور ساخته شده است که مسائل با شرایط بیشتری را می تواند حل کند. فرم استفاده از این کتابخانه به شکل زیر است:
[x,lm,info] = sqplab (@simul, x, lm, lb, ub, options)
که در آن پارامتر ها به قرار زیر هستند:

پارامترهای ورودی:

(x) : برداری که حدس اولیه از حل مسئله را میدهد. طول آن برای تعیین تعداد متغیر ها (n) استفاده می شود.
(lm) – دلخواه: برداری که حدس اولیه از راه حل دوگانه میدهد که 4 حالت متفاوت دارد.
(lb) - دلخواه: برداری که مرز حداقل x را مشخص میکند که میتواند مقدار بینهایت را هم بگیرد.
(ub) - دلخواه: برداری که مرز حداکثر x را مشخص میکند که میتواند مقدار بینهایت را هم بگیرد.
(options) - دلخواه: ساختار تعریف شده برای حل.

پارامترهای خروجی:

(x) : بردار ابعادی که راه حل ابتدایی محاسبه شده برای x را مشخص میکند.
(lm) : برداری ابعادی که حل محاسبه شده راه حل دوگانه را میدهد.
(info) : ساختاری که اطلاعات را برای حداقل سازی مشخص میکند.

نظرات  (۹)

دمت گرم 
جواب سوال : سلام ببخشید میشه حل مساله پخش بار اقتصادی ک با روش fmincon بهینه سازی میشه رو بزارید؟  راضی نیستم به عینه از این مطالب به منظور ارائه پروژه استفاده شود. (امید امیدی)
با fmincon حل کرده بودم
پاسخ:
سلام
بنده تنها پروژه هایی که کار میکنم را در وبلاگ نشر میدهم. پخش بار اقتصادی به کارم نیامده است هنوز! :)
ممنون خوب بود
شرمنده، حلال کن ، من یک قسمت از متن را کپی کردم.

پاسخ:
انشاالله که با مطالعه و تحقیق خودتان همراه بوده
نه کپی محض و خالی
۲۵ فروردين ۹۴ ، ۱۶:۵۴ دانشجوی ارشد برق
سلام ببخشید میشه حل مساله پخش بار اقتصادی ک با روش fmincon بهینه سازی میشه رو بزارید؟
پاسخ:
اطلاعاتی در اینباره ندارم!
جناب امیدی مطالب شما کپی برابر با اصله بعد می گید راضی نیستم اگر توی پروژه ای استفاده بشه.واقعا خنده داره

پاسخ:
کجاش کپی برابر با اصله؟
اگر این متون را جای دیگه ای دیده اید مطمئن باشید اون مطالب از این وبلاگ کپی شده اند.
برخی مطالب هم هستند که به صورت تدوین شده در این وبلاگ جمع آوری میشن.
از طرفی نارضایتی من به دلیل حق کپی رایت مطالب نیست
به دلیل عدم تلاش تحقیق کننده در یاد گیری مطلبه. من میگم راضی نیستم صرف کپی و پیست در پروژه استفاده شود
ممنون از سایت خوبتون
خسته نباشید
پاسخ:
متشکرم
عالی بود،موفق باشین.
پاسخ:
متشکرم
۱۶ مرداد ۹۲ ، ۰۲:۰۰ یک دانشجوی ریاضی

واقعا ممنون ، خدا قوت

کاش بقیه هم  یاد بگیرن ،اخه پیدا کردن متن علمی فارسی حداقل تو رشته ما خیلی سخته

پاسخ:
انشاالله

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی