more wikis
 

سائلیب:لکیری برمجہ

מתוך Scratchpad

لکیری برمجہ کی ایک مثال سائلیب کی مدد سے حل کرتے ہیں۔ وکیپیڈیا پر یہ مثال ہم نے گراف کی مدد سے حل کی تھی۔

[עריכה] مثال 1

ایک کاشتکار کے پاس 10 ایکڑ زمین ہے جس پر وہ مٹر اور گاجر کی فصل کاشت کرنا چاہتا ہے۔ مٹر کی فصل میں ہر ایکڑ کے لیے 2 میٹرک ٹن کھاد درکار ہوتی ہے جبکہ گاجر کی فصل کے لیے 1 میٹرک ٹن فی ایکڑ۔ فرض کرو کہ کاشتکار کو صرف 12 میٹرک ٹن کھاد دستیاب ہے۔ اب منڈی میں مٹر کی فی ایکڑ پیداوار کے 9 ہزار روپے ملتے ہیں جبکہ گاجر کی ایک ایکڑ پیداوار کے 4 ہزار روپے۔ ہمیں یہ ڈھونڈنا ہے کہ کتنے ایکڑ پر مٹر اُگائے جائیں اور کتنے پر گاجر تاکہ کاشتکار کو زیادہ سے زیادہ آمدنی ہو۔

فرض کرو کہ گاجر x ایکڑ پر کاشت کی جاتی ہے اور مٹر y ایکڑ پر۔ اب چونکہ کل رقبہ 10 ایکڑ ہے، اس لیے

math

کھاد مٹرکو 2 میٹرک ٹن فی ایکڑ، اور گاجر کو 1 میٹرک ٹن فی ایکڑ۔ جبکہ کاشتکار کے پاس کھاد کی ساری مقدار 12 میٹرک ٹن ہے، اس لیے

math

اس کے علاوہ چونکہ زیر کاشت رقبہ منفی نہیں ہو سکتا، اس لیے

math
math

مٹر کی قیمت 9 ہزار فی ایکڑ اور گاجر کی قیمت 4 ہزار فی ایکڑ کے حساب سے کاشتکار کی آمدنی ہو گی

math

جسے وہ زیادہ سے زیادہ کرنا چاہتا ہے۔

سائلیب میں یہ مسلئہ linpro کی مدد سے حل کیا جاتا ہے۔ منافع فنکشن کے لیے ہم لکھتے ہیں:

--> p = [ 4 ; 9]
p =
    4
    9

تو منافع فنکشن یہ ہوئی (میٹرکس صورت میں)

math


اب نامساوات کو میٹرکس صورت یوں لکھ کر

math

یا

math

جو سائلیب کی زبان میں یوں کہہ سکتے ہیں

--> C = [ 1  1; 1 2];
--> b = [ 10 ; 12];

اب سائلیب کو بتاتے ہیں کہ x اور y کی کم سے کم (min) اور زیادہ سے زیادہ (max) قیمت کیا ہو سکتی ہے:

--> cmin = [ 0 ; 0];
--> cmax = [ 10 ; 10];

چونکہ سائلیب linpro منافع فنکشن کی بجائے نقصان فنکشن استعمال کرتی ہے اس لیے ہم اسے منفی p بتاتے ہیں۔ آخری صفر کا مطلب ہے کہ C, b میں سب نامساوات ہیں (مساوات کوئی نہیں)

--> [X, lag, f] = linpro(-p, C, b, cmin, cmax, 0)
--> f =
    -54
    X =
       0
       6

تو جواب یہ آیا

math

یعنی گاجر کاشت نہ کی جائے، اور مٹر چھ ایکڑ پر کاشت کیا جائے۔ اور منافع ہو گا 54 ہزار۔


مثال 3 کے لیے لکیری برمجہ میں ثنویت کی تعریف ملاحظہ کریں۔

[עריכה] مثال 3

اوپر مثال 1 میں مقدم مسلئہ کو یوں لکھا جا سکتا ہے

تکبیر
math
جبکہ
math

اب ثنوی مسلئہ کو یوں سمجھا جا سکتا ہے۔ فرض کرو کہ کوئی شخص کاشتکار سے ساری کھاد (بارہ میٹرک ٹن) خریدنا چاہتا ہے اور زمیں (دس ایکڑ) فصل کے دورانیہ کے لیے کرائے پر لینا چاہتا ہے۔ اب اس شخص کا مسلئہ یہ ہو گا کہ کاشتکار کو کیا قیمت کی پیشکش کرے۔ یہ شخص ایک ایکڑ کے کرائے کی قیمت math روپے لگاتا ہے، اور کھاد کی فی میٹرک ٹن قیمت math روپے لگاتا ہے، تو پوری قیمت یہ بنی

math

ظاہر ہے کہ یہ شخص کم سے کم قیمت لگانا پسند کرے گا۔

چونکہ ایک ایکڑ زمین اور ایک میٹرک ٹن کھاد کے استعمال سے چار ہزار روپے مالیت کی گاجر پیدا ہوتی ہے، اس لیے کاشتکار یہ سودا اسی وقت قبول کرے گا جبکہ

math

اور چونکہ ایک ایکڑ زمین اور دو میٹرک ٹن کھاد کے استعمال سے نو ہزار روپے مالیت کا مٹر پیدا ہوتا ہے، اس لیے کاشتکار یہ سودا اسی وقت قبول کرے گا جبکہ

math

تو ثنوی لکیری برمجہ مسلئہ یہ بنا

تصغیر
math
جبکہ
math

سائلیب میں اس کا حل یوں نکلے گا۔

--> p = [ 4 ; 9]
p =
    4
    9
--> C = [ 1  1; 1 2];
--> b = [ 10 ; 12];
--> cmin = [ 0 ; 0];
--> cmax = [ 10 ; 10];

اب چونکہ linpro کو نامساوات کی "کم" صورت چاہیے، اس لیے ہم C اور b کو منفی لکھیں گے۔ یعنی

math

چونکہ g نقصان فنکشن ہی ہے، اس لیے p کو مثبت ہی رہنے دیں گے

--> [Y, lag, g] = linpro(p, -C, -b, cmin, cmax, 0)
--> g =
    54
    Y =
       0
       4.5

اس مسلئہ کا حل یہ نکالا کہ کل قیمت 54 ہزار ہی نکلے گی، اور math، math۔ یعنی اپنی دانست میں یہ شخص کھاد کی قیمت ساڑھے چار پزار روپے فی میٹرک ٹن لگائے، اور زمین کا کرایہ صفر۔