এই আর্টিকেলটি আপনাকে দেখাবে কীভাবে এক্সেল Solver দিয়ে একটি ব্লেন্ডিং লিনিয়ার প্রোগ্রামিং সমস্যা সমাধান করতে হয়। লিনিয়ার প্রোগ্রামিং একটি গুরুত্বপূর্ণ অ্যাপ্লিকেশন যখন আমরা ব্যবসায়িক ক্ষেত্রে খরচ ন্যূনতম বা লাভ সর্বোচ্চ করতে চাই। এটি আমাদের দৈনন্দিন জীবনেও গুরুত্বপূর্ণ কারণ আমাদের খাদ্য অভ্যাস এবং অন্যান্য ব্যয় অপ্টিমাইজ করা উচিত। ব্লেন্ডিং লিনিয়ার প্রোগ্রামিং একটি বিশেষ ধরনের লিনিয়ার প্রোগ্রামিং যেখানে একটি বা একাধিক পণ্যের লাভ বা খরচ অপ্টিমাইজেশন করা হয় যা অন্য কাঁচা মালের মিশ্রণ থেকে তৈরি হয়। আমরা এক্সেল ব্যবহার করে এই ব্লেন্ডিং লিনিয়ার প্রোগ্রামিং-কে বাস্তব জীবনের দুটি উদাহরণে প্রয়োগ করব যাতে বুঝা যায় এটি কীভাবে কাজ করে।
ব্লেন্ডিং লিনিয়ার প্রোগ্রামিং কী?
আপনি যদি রাসায়নিক শিল্প বা খাদ্য কারখানাতে কাজ করেন, তবে আপনাকে বিভিন্ন উপাদান মিশিয়ে পণ্য তৈরি করতে হয়। উদাহরণস্বরূপ, আপনি যদি একটি ওষুধ তৈরি করতে চান, তবে আপনাকে সেটির জন্য প্রয়োজনীয় উপাদানগুলো লাগবে এবং সেগুলোকে একটি নির্ধারিত অনুপাতে মিশাতে হবে। এর পাশাপাশি, আপনাকে মনে রাখতে হবে এই উপাদানগুলো কতটুকু কেনা লাগবে, আপনার পণ্যগুলোর গুণগত মান কেমন হবে, ইত্যাদি। এই ক্ষেত্রে, আপনাকে গ্রাহকদের সরবরাহ করার জন্য পণ্যগুলোর মিশ্রণের পরিমাণ অপ্টিমাইজ করতে হয়। এই সমস্যার সমাধান দেওয়া হয় ব্লেন্ডিং লিনিয়ার প্রোগ্রামিং অ্যাপ্লিকেশন দিয়ে। এই অ্যাপ্লিকেশন আমাদের শিখায় কীভাবে উৎপাদনে কাঁচা মাল ব্যবহার করতে হয়।
এক্সেল সলভার দিয়ে ব্লেন্ডিং লিনিয়ার প্রোগ্রামিং সমস্যা সমাধানের ২টি উদাহরণ
এই আর্টিকেলে, আমরা ব্লেন্ডিং লিনিয়ার প্রোগ্রামিং-এর জন্য দুটি ধরনের উদাহরণ ব্যাখ্যা করব। একটি উদাহরণ দেখাবে কীভাবে Fixed Recipe এর জন্য Blending LP (Linear Programming) সমাধান করতে হয় এবং অন্যটি Flexible Recipe-র জন্য।
Fixed Recipe বলতে সেই পরিস্থিতিকে বোঝায় যেখানে আপনি উপাদানগুলোর সঠিক অনুপাত বা মিশ্রণের পরিমাণ জানেন। অন্যদিকে, আপনি যদি একটি পণ্য উৎপাদনে কাঁচা মালের নির্দিষ্ট পরিমাণ ব্যবহার করার বাধ্য না হন, তবে আপনাকে Flexible Recipe-র জন্য Blending LP প্রয়োগ করা উচিত।
প্রথম উদাহরণটি Fixed Recipe সমস্যা সমাধান দেখাতে নিবেদিত। এখানে, আমাদের তিন ধরনের তরল উপাদান রয়েছে A, B, এবং C। আমরা A-B এবং A-C ব্যবহার করে ৬০%-৪০% এবং ৮০%-২০% অনুপাতে দুটি নতুন পণ্য তৈরি করব। অন্যান্য প্যারামিটার রয়েছে যেমন Revenue/Liter, Cost/Liter, এবং কারখানাতে উপলব্ধ কাঁচা মালের পরিমাণ। আমরা এই পরিস্থিতি থেকে সর্বোচ্চ লাভ অর্জন করব।

Flexible Recipe সমস্যায়, আমরা বিভিন্ন ধরনের স্টিল তৈরি করব যেমন regular, exclusive এবং super quality স্টিল বিভিন্ন কাঁচা মালের মিশ্রণ থেকে। আমাদের কাছে এই কাঁচা মালগুলোর উপলব্ধতা, প্রতি টন খরচ, এবং গুণগত রেটিং সম্পর্কে ডেটা রয়েছে। আমরা প্রয়োজনীয় উৎপাদন পরিমাণ, উৎপাদিত স্টিলের বিভিন্ন শ্রেণির প্রতি টন দাম এবং তাদের ন্যূনতম রেটিংও সেট করেছি। এখানে আরেকটি প্যারামিটার রয়েছে যাকে আমরা Linearized Rating বলি।

১. ফিক্সড রেসিপি সমস্যায় ব্লেন্ডিং লিনিয়ার প্রোগ্রামিং
আমরা এই সমস্যাটি পূর্ববর্তী বিভাগে আলোচনা করেছি। চলুন নিচের প্রক্রিয়া অনুসরণ করি।
ধাপসমূহ:
- প্রথম, আমরা কিছু প্রয়োজনীয় ফর্মুলা সেট করব। আমরা উপাদানের Raw Usage জানতে চাই এবং সেটি ক্যালকুলেট করতে C12 সেলে নিচের ফর্মুলা ব্যবহার করব।
=SUMPRODUCT(C5:C9,$G$5:$G$9)

এখানে আমরা SUMPRODUCT ফাংশন ব্যবহার করেছি যা উপাদান A-র Raw Usage ফেরত দেবে।
- তারপর, fill icon ডানদিকে টেনে E12 সেল পর্যন্ত AutoFill করুন।

- পরে, I11 সেলে নিচের ফর্মুলা ব্যবহার করুন Revenue ক্যালকুলেট করতে।
=SUMPRODUCT(G5:G9,H5:H9)*C16

এখানে, আমরা ফর্মুলাটিকে C16 সেলের মান দিয়ে গুণ করেছি যেটি ৩.৭৮৫৪ কারণ এক গ্যালন = ৩.৭৮৫৪ লিটার।
- এরপর, I12 সেলে নিচের ফর্মুলা টাইপ করে ENTER চাপুন।
=SUMPRODUCT(C11:E11,C12:E12)*C16

এই ফর্মুলা উৎপাদন খরচ ফেরত দেবে।
- তারপর, profit ক্যালকুলেট করার জন্য নিচের ফর্মুলা প্রয়োগ করুন।
=I11-I12

- এখন, আপনার ন্যূনতম উৎপাদন প্রয়োজনীয়তা সেট করুন।

- এরপর, Data >> Solver-এ যান। আপনি যদি না জানেন Data Tab-এ Solver Add-in কীভাবে যোগ করতে হয়, তবে File >> Options >> Add-ins >> Excel Add-ins >> Go >> Solver Add-in সিলেক্ট করে OK চাপুন বা এই Link-টি ফলো করুন।
- Solver Add-in খোলার জন্য Data >> Solver-এ যান।

- আমরা আমাদের লাভ সর্বোচ্চ করতে চাই তাই আবজেক্টিভ রেফারেন্স সেট করুন I13 যেখানে আমরা Profit সংরক্ষণ করেছি।
- এছাড়া, আমাদের ভেরিয়েবল হলো পণ্যগুলোর মিশ্রণের শতাংশ। তাই G5:G9 রেঞ্জটি 'By Changing Variable Cells' সেকশনে যোগ করুন।
- তারপর, Add ক্লিক করে constraints যোগ করুন।

- Raw Material Usage Available Material-এর চেয়ে বেশি হতে পারে না। সুতরাং আমাদের প্রথম কনস্ট্রেইন্ট হলো রেঞ্জ C12:E12 হবে C14:E14-এর চেয়ে কম বা সমান।
- তারপর আবার Add ক্লিক করুন।

- এভাবেই, আমরা আরেকটি কনস্ট্রেইন্ট যোগ করেছি যেটি বোঝায় উৎপাদন পরিমাণ ন্যূনতম প্রয়োজনীয় উৎপাদন পরিমাণের চেয়ে বেশি।
- এরপর OK চাপুন।

- তারপর, 'Make Unconstrained Variable Non-Negative' চেক করুন।
- তারপর, Solving Method-এ Simplex LP সিলেক্ট করুন।
- পরে, Solve-এ ক্লিক করুন।

- এরপর, একটি কনফার্মেশন মেসেজ বক্স আসবে। শুধু OK চাপুন।

- শেষে, আপনি পাবেন কতটুকু Raw Materials ব্যবহার করলে সর্বোচ্চ লাভ হবে।
- অতিরিক্তভাবে, আপনি Revenue, Cost of production, এবং Profit এর ফলাফলও পাবেন।

এভাবেই আপনি এক্সেল সলভার দিয়ে Fixed Recipe-র জন্য Blending Linear Programming সমস্যা সমাধান করতে পারেন।
২. ফ্লেক্সিবল রেসিপি ব্লেন্ডিং লিনিয়ার প্রোগ্রামিং সমস্যায় এক্সেল সলভার
এই বিভাগে, আমি দেখাব কীভাবে Flexible Recipe-র জন্য Blending Linear Programming Problem সমাধান করতে হয়। এই সমস্যা সম্পর্কে জানতে এই আর্টিকেলের link-এ যান। এখন, নিচের বিবরণ অনুসরণ করুন।
ধাপসমূহ:
- প্রথম, আমরা আমাদের সমাধানের জন্য কিছু ফর্মুলা সেট আপ করব। F5 সেলে নিচের ফর্মুলা টাইপ করে ENTER চাপুন।
=SUM(C5:E5)

এই ফর্মুলা SUM ফাংশন ব্যবহার করে প্রথম Available রিসোর্স থেকে উৎপাদিত টাইপ ১ Steel (Regular, Exclusive এবং Super) এর মোট পরিমাণ ক্যালকুলেট করে।
- পরবর্তী, Fill আইকন নিচে টেনে F7 পর্যন্ত সেলগুলো পূরণ করুন।

- পরে, মোট Regular Steel উৎপাদন পরিমাণ ক্যালকুলেট করার জন্য নিচের ফর্মুলা লিখুন।
=SUM(C5:C7)

- একইভাবে, C14 সেলে নিচের ফর্মুলা লিখুন Linearized Rating ক্যালকুলেট করতে এবং E14 পর্যন্ত সন্নিকট সেলগুলো পূরণ করুন।
=SUMPRODUCT($J$5:$J$7,C5:C7)

- তারপর, C16 সেলে নিচের ফর্মুলা টাইপ করুন এবং E16 পর্যন্ত সেলগুলো পূরণ করুন।
=C12*C8

এই ফর্মুলা আমাদের উৎপাদিত Steels-এর Linearized Rating দেবে।
- এরপর, I10 সেলে নিচের ফর্মুলা লিখুন Revenue নির্ধারণ করতে।
=SUMPRODUCT(C11:E11,C8:E8)

- উৎপাদন খরচ ক্যালকুলেট করতে নিচের ফর্মুলা ব্যবহার করুন।
=SUMPRODUCT(I5:I7,F5:F7)

- এবং নিচের ফর্মুলা Profit ফেরত দেবে।
=I10-I11

- এরপর, Subject, Changing Variable এবং Constraints ইনপুট করার জন্য Method 1-এর link ফলো করুন যা আপনাকে প্রক্রিয়ায় নিয়ে যাবে। আমি শুধু এই অসমতাগুলো নিচে সংক্ষেপে ব্যাখ্যা করছি।
- আমরা লাভের পরিমাণ সর্বোচ্চ করতে চাই, তাই প্রফিট ধারণকারী সেল (I12) রেফারেন্স দিন।
- পরবর্তী, আমাদের চেঞ্জিং ভেরিয়েবল হলো Steel পণ্য, তাই এই রেঞ্জ হবে C5:E7 যেখানে উৎপাদন পরিমাণ সংরক্ষিত থাকবে।
- তারপর, আমরা কিছু কনস্ট্রেইন্ট যোগ করেছি। Linearized Raw Rating হবে Linearized Minimum Required Rating-এর চেয়ে বড় বা সমান, তাই রেঞ্জ C14:E14 হবে C16:E16-এর চেয়ে বড় বা সমান।
- তারপর, উৎপাদন পরিমাণ প্রয়োজনীয় পরিমাণের চেয়ে বেশি হবে। তাই রেঞ্জ C8:E8 হবে C10:E10-এর চেয়ে বড়।
- এবং কাঁচা মালের ব্যবহার উপলব্ধ কাঁচা মালের চেয়ে কম হবে। তাই রেঞ্জ F5:F7 হবে H5:H7-এর চেয়ে ছোট।

- Solve-এ ক্লিক করার পর, আপনি পাবেন কতটুকু Raw Materials ব্যবহার করলে সর্বোচ্চ লাভ হবে।
- অতিরিক্তভাবে, আপনি Revenue, Cost of production এবং Profit এর ফলাফলও পাবেন।

এভাবেই আপনি এক্সেল সলভার দিয়ে Flexible Recipe-র জন্য Blending Linear Programming সমস্যা সমাধান করতে পারেন।
অনুশীলন বিভাগ
এখানে, আমি এই আর্টিকেলের ডেটাসেট দিচ্ছি যাতে আপনি নিজে এই পদ্ধতিগুলো অনুশীলন করতে পারেন।

উপসংহার
সংক্ষেপে বললে, আপনি বাস্তব জীবনের অপ্টিমাইজেশন সমস্যা সমাধানের জন্য Excel Solver দিয়ে Blending Linear Programming প্রয়োগ করার মৌলিক ধারণা পেয়ে গেছেন। আপনার যদি আরও ভালো পদ্ধতি বা প্রশ্ন বা ফিডব্যাক থাকে এই আর্টিকেল সংক্রান্ত, তবে কমেন্ট বক্সে শেয়ার করুন। এটি আমার আগামী আর্টিকেলগুলো সমৃদ্ধ করতে সাহায্য করবে। আরও প্রশ্নের জন্য, দয়া করে আমাদের ওয়েবসাইট ExcelDemy-এ যান।