انجمن سایت کلیدستان



سیمپلکسزمان کنونی: ۱۳۹۵/۰۹/۱۴، ۰۶:۴۴ ب.ظ
کاربران در حال بازدید این موضوع: 1 مهمان
نویسنده: mohsen
آخرین ارسال: mohsen
پاسخ 5
بازدید 2385

رتبه موضوع:
  • 1 رای - 5 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
سیمپلکس

سیمپلکس

#1
سلام ببخشید مسائل از این دست چگونه حل میشوند
به عنوان مثال
فایل ضمیمه


فایل‌های پیوست

دانلود Max.doc

نام فایل Max.doc
نوع فایل .doc
دفعات دانلود 124
اندازه 29.5 KB
ارسال کننده فایل mohsen
پاسخ

سیمپلکس

#2
سلام .
کدهای متلب زیر ، ماکزیمم مقدار Z و همچنین x1 و X2 مربوط به این ماکزیمم را پیدا می کند :

کد:
clear all
close all
clc

x1=0:0.1:1000;
x1_length=length(x1);
x2=0:0.1:4;
x2_length=length(x2);

Z=0;
x1_max=0;
x2_max=0;
Z_max=0;
for nn=1:x1_length
    for mm=1:x2_length
        if (x1(nn)+x2(mm)<=10 && x1(nn)-x2(mm)<=8)
            Z=4*x1(nn)-x2(mm);
            if (Z>Z_max)
                Z_max=Z;
                x1_max=x1(nn);
                x2_max=x2(mm);
            end
        end
    end
end
x1_max
x2_max
Z_max

در واقع برای x1 و x2 بازه تعریف کردیم و سپس در این بازه ها ، نمونه هایی رو برای عبارتی که باید ماکزیمم شود به کار برده ایم تا ببینیم مقدار حاصل چقدر می شود . در هر تکرار حلقه ، اگر مقدار z بزرگتر از مقدار ماکزیمم قبلی باشد آنگاه آن را در متغیر z_max ذخیره می کنیم تا در انتهای برنامه نمایش داده شود .
دستور length برای محاسبه طول یک بردار به کار می رود . فاصله بین نمونه ها را برابر 0.1 تعیین کرده ایم که می توانید آن را تغییر دهید .
بازه ها برای x1 و x2 از روی شرایط ذکر شده تعریف می شود ، فقط حد بالای بازه x1 را نداریم که به دلخواه عدد بزرگ 1000 را انتخاب کرده ایم .
نتیجه اجرای کد متلب به صورت زیر می باشد :

کد:
x1_max =

     9


x2_max =

     1


Z_max =

    35

که در آن ، Z_max نشان دهنده مقدار ماکزیمم Z است و x1_max و x2_max ، مقادیری از x1 و x2 می باشند که Z ماکزیمم را به وجود می آورند . coffee
bookbook 
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
پاسخ
 سپاس شده توسط mohsen

سیمپلکس

#3
ممنون که جواب سوالات میدیدSmile
به نظر شما کلیه مسائل سیمپلکس با این روش حل میشوند یا متلب تابع های تعریف شده داره؟؟Blush
ببخشید میشه لطف کنیداین فایل متلب که ضمیمه کردم نگاه بندازید و نظرتونا بگید,Blush
البته سایت اجازه نداد که فایل m. بفرستمHuh و به صورت word فرستادم


فایل‌های پیوست

دانلود SIMPLEX.doc

نام فایل SIMPLEX.doc
نوع فایل .doc
دفعات دانلود 149
اندازه 74.5 KB
ارسال کننده فایل mohsen
پاسخ

سیمپلکس

#4
mfile ها رو می تونید ابتدا zip کنید و بعد بفرستید .
دستور linprog میتونه برای حل اینگونه مسائل به کار بره . البته این دستور ، مینیمم یک عبارت (مقدار متغیر که عبارت رو مینیمم میکنه) رو پیدا میکنه و اگر قصد داشتید که از ماکزیمم استفاده کنید ، تنها کافی است که عبارت مورد نظرتان را وارونه کنید (صورت را به مخرج و مخرج را به صورت ببرید) و سپس از دستور linprog استفاده کنید ، پاسخ آن برابر مقداری از متغیر است که عبارت اصلی (وارونه نشده) را ماکزیمم میکنه . Smile
همین دستور کارتون رو راه میندازه و نیازی به اون فایل ضمیمه نیست .
bookbook 
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
پاسخ

سیمپلکس

#5
ممنون
در ضمن zip هم قبل نکرد
پاسخ


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان

آخرین کلیدهای غیررایگان

شما هم می توانید کلیدهای غیررایگان منتشر کنید (بیشتر بدانید)