کلیدستان

نسخه‌ی کامل: برنامه ریزی خطی (سیمپلکس)
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
سلام قبلا سوالی مطرح شده مسائل از این دست چگونه حل میشوند.
maxz= 4x1-x2
s.t
x1+x2<=10
x1-x2<=8
x2<=4
x1>=0
x2>=0
که به شکل زیر پاسخ دادن .سوال من اینه می تونیم تابع به شکلی بنویسیم که ضرایب مشخص نباشه یعنی متغییر(قرار کاربر از طریق سی شارپ ضرایب وارد کند)

کد:
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