বিতরণ অপ্টিমাইজেশান

সমস্যা প্রণয়ন

ধরুন আপনি যেখানে কাজ করেন তার তিনটি গুদাম রয়েছে, যেখান থেকে পণ্যগুলি মস্কো জুড়ে ছড়িয়ে ছিটিয়ে থাকা আপনার পাঁচটি দোকানে যায়।

প্রতিটি দোকান আমাদের পরিচিত পণ্য একটি নির্দিষ্ট পরিমাণ বিক্রি করতে সক্ষম. প্রতিটি গুদামের ধারণক্ষমতা সীমিত। মোট পরিবহন খরচ কমানোর জন্য কোন গুদাম থেকে কোন দোকানে পণ্য সরবরাহ করা হবে তা যুক্তিসঙ্গতভাবে বেছে নেওয়ার কাজ।

অপ্টিমাইজেশন শুরু করার আগে, একটি এক্সেল শীটে একটি সাধারণ টেবিল কম্পাইল করা প্রয়োজন - আমাদের গাণিতিক মডেল পরিস্থিতি বর্ণনা করে:

বোঝা যায় যে:

  • হালকা হলুদ টেবিল (C4:G6) প্রতিটি গুদাম থেকে প্রতিটি দোকানে একটি আইটেম পাঠানোর খরচ বর্ণনা করে।
  • বেগুনি কোষ (C15:G14) প্রতিটি দোকানে বিক্রির জন্য প্রয়োজনীয় পণ্যের পরিমাণ বর্ণনা করে।
  • লাল কণিকা (J10:J13) প্রতিটি গুদামের ক্ষমতা প্রদর্শন করে - গুদামটি যে পরিমাণ পণ্য রাখতে পারে তা সর্বাধিক।
  • হলুদ (C13:G13) এবং নীল (H10:H13) ঘরগুলি যথাক্রমে সবুজ কক্ষগুলির জন্য সারি এবং কলামের যোগফল।
  • মোট শিপিং খরচ (J18) পণ্যের সংখ্যা এবং তাদের সংশ্লিষ্ট শিপিং খরচের যোগফল হিসাবে গণনা করা হয় - গণনার জন্য, ফাংশনটি এখানে ব্যবহার করা হয়েছে SUMPRODUCT (SUMPRODUCT).

সুতরাং, আমাদের কাজটি সবুজ কোষের সর্বোত্তম মান নির্বাচনের জন্য হ্রাস করা হয়েছে। এবং যাতে লাইনের মোট পরিমাণ (নীল কক্ষ) গুদামের (লাল কোষ) ক্ষমতার বেশি না হয় এবং একই সময়ে প্রতিটি দোকান বিক্রি করার জন্য প্রয়োজনীয় পণ্যের পরিমাণ পায় (প্রতিটি দোকানের জন্য পরিমাণ হলুদ কোষগুলি যতটা সম্ভব প্রয়োজনীয়তার কাছাকাছি হওয়া উচিত - বেগুনি কোষ)।

সমাধান

গণিতে, সম্পদের সর্বোত্তম বন্টন বেছে নেওয়ার এই জাতীয় সমস্যাগুলি দীর্ঘকাল ধরে প্রণয়ন এবং বর্ণনা করা হয়েছে। এবং, অবশ্যই, সেগুলি সমাধান করার উপায়গুলি দীর্ঘকাল ধরে ভোঁতা গণনা দ্বারা নয় (যা খুব দীর্ঘ), তবে খুব অল্প সংখ্যক পুনরাবৃত্তিতে তৈরি করা হয়েছে। এক্সেল ব্যবহারকারীকে অ্যাড-ইন ব্যবহার করে এই ধরনের কার্যকারিতা প্রদান করে। অনুসন্ধান সমাধান (সমাধানকারী) ট্যাব থেকে উপাত্ত (তারিখ):

ট্যাবে থাকলে উপাত্ত আপনার এক্সেল-এ এমন একটি কমান্ড নেই - এটা ঠিক আছে - এর মানে হল যে অ্যাড-ইনটি এখনও সংযুক্ত নয়। এটি সক্রিয় করতে খুলুন ফাইল, তারপর নির্বাচন করুন পরামিতি - Add-ons - সম্পর্কে (বিকল্প — অ্যাড-ইন — যান). যে উইন্ডোটি খোলে, সেখানে আমাদের প্রয়োজনীয় লাইনের পাশের বাক্সটি চেক করুন অনুসন্ধান সমাধান (সমাধানকারী).

অ্যাড-অন রান করা যাক:

এই উইন্ডোতে, আপনাকে নিম্নলিখিত পরামিতিগুলি সেট করতে হবে:

  • লক্ষ্য ফাংশন অপ্টিমাইজ করুন (টি সেট করুনটাকা কোষ) - এখানে আমাদের অপ্টিমাইজেশনের চূড়ান্ত প্রধান লক্ষ্য নির্দেশ করা প্রয়োজন, অর্থাৎ মোট শিপিং খরচ (J18) সহ গোলাপী বক্স। টার্গেট সেল মিনিমাইজ করা যেতে পারে (যদি এটি খরচ হয়, যেমন আমাদের ক্ষেত্রে), সর্বাধিক করা যেতে পারে (যদি এটি হয়, উদাহরণস্বরূপ, লাভ) বা এটি একটি প্রদত্ত মান (উদাহরণস্বরূপ, বরাদ্দ করা বাজেটের সাথে ঠিক মাপসই) আনার চেষ্টা করুন।
  • পরিবর্তনশীল কোষ পরিবর্তন (By পরিবর্তন কোষ) - এখানে আমরা সবুজ কোষগুলিকে নির্দেশ করি (C10: G12), যে মানগুলির মধ্যে আমরা আমাদের ফলাফল অর্জন করতে চাই - সরবরাহের সর্বনিম্ন খরচ।
  • সীমাবদ্ধতার সাথে সামঞ্জস্যপূর্ণ (বিষয় থেকে দ্য সীমাবদ্ধতা) - নিষেধাজ্ঞাগুলির একটি তালিকা যা অপ্টিমাইজ করার সময় অবশ্যই বিবেচনায় নেওয়া উচিত। তালিকায় সীমাবদ্ধতা যোগ করতে, বোতামে ক্লিক করুন বিজ্ঞাপন (যোগ করুন) এবং প্রদর্শিত উইন্ডোতে শর্তটি লিখুন। আমাদের ক্ষেত্রে, এটি চাহিদার সীমাবদ্ধতা হবে:

     

    এবং গুদামগুলির সর্বাধিক পরিমাণের সীমা:

শারীরিক কারণগুলির সাথে যুক্ত সুস্পষ্ট সীমাবদ্ধতাগুলি ছাড়াও (গুদামগুলির ক্ষমতা এবং পরিবহনের উপায়, বাজেট এবং সময় সীমাবদ্ধতা ইত্যাদি), কখনও কখনও "এক্সেলের জন্য বিশেষ" সীমাবদ্ধতা যুক্ত করা প্রয়োজন। সুতরাং, উদাহরণস্বরূপ, এক্সেল সহজেই স্টোর থেকে গুদামে পণ্য পরিবহনের প্রস্তাব দিয়ে ডেলিভারির খরচ "অপ্টিমাইজ" করার ব্যবস্থা করতে পারে – খরচ নেতিবাচক হয়ে যাবে, অর্থাৎ আমরা লাভ করব! 🙂

এটি যাতে না ঘটে তার জন্য, চেকবক্সটি চালু রাখাই ভালো। আনলিমিটেড ভেরিয়েবল অ-নেতিবাচক করুন অথবা এমনকি কখনও কখনও স্পষ্টভাবে সীমাবদ্ধতা তালিকায় এই ধরনের মুহূর্ত নিবন্ধন.

সমস্ত প্রয়োজনীয় পরামিতি সেট করার পরে, উইন্ডোটি দেখতে এইরকম হওয়া উচিত:

একটি সমাধান পদ্ধতি নির্বাচন করুন ড্রপ-ডাউন তালিকায়, আপনাকে তিনটি বিকল্পের একটি পছন্দ সমাধানের জন্য উপযুক্ত গাণিতিক পদ্ধতি নির্বাচন করতে হবে:

  • সিমপ্লেক্স পদ্ধতি রৈখিক সমস্যা সমাধানের জন্য একটি সহজ এবং দ্রুত পদ্ধতি, যেমন সমস্যা যেখানে আউটপুট রৈখিকভাবে ইনপুটের উপর নির্ভরশীল।
  • সাধারণ ডাউনগ্রেডেড গ্রেডিয়েন্ট মেথড (OGG) - অ-রৈখিক সমস্যার জন্য, যেখানে ইনপুট এবং আউটপুট ডেটার মধ্যে জটিল অ-রৈখিক নির্ভরতা রয়েছে (উদাহরণস্বরূপ, বিজ্ঞাপন খরচের উপর বিক্রয় নির্ভরতা)।
  • একটি সমাধান জন্য বিবর্তনীয় অনুসন্ধান - জৈবিক বিবর্তনের নীতির উপর ভিত্তি করে একটি অপেক্ষাকৃত নতুন অপ্টিমাইজেশন পদ্ধতি (হ্যালো ডারউইন)। এই পদ্ধতিটি প্রথম দুটির চেয়ে বহুগুণ বেশি কাজ করে, তবে প্রায় যেকোনো সমস্যা (অরৈখিক, বিচ্ছিন্ন) সমাধান করতে পারে।

আমাদের কাজটি স্পষ্টভাবে রৈখিক: 1 পিস বিতরণ করা হয়েছে – 40 রুবেল খরচ করেছে, 2 টুকরা বিতরণ করেছে – 80 রুবেল খরচ করেছে। ইত্যাদি, তাই সিমপ্লেক্স পদ্ধতি হল সেরা পছন্দ।

এখন যে হিসাবের জন্য ডেটা প্রবেশ করানো হয়েছে, বোতাম টিপুন একটি সমাধান খুঁজুন (সমাধান)অপ্টিমাইজেশান শুরু করতে। প্রচুর পরিবর্তিত কোষ এবং সীমাবদ্ধতা সহ গুরুতর ক্ষেত্রে, একটি সমাধান খুঁজে পেতে দীর্ঘ সময় লাগতে পারে (বিশেষ করে বিবর্তনীয় পদ্ধতিতে), তবে এক্সেলের জন্য আমাদের কাজটি কোনও সমস্যা হবে না - কয়েক মুহূর্তের মধ্যে আমরা নিম্নলিখিত ফলাফলগুলি পাব :

আমাদের গুদামগুলির ক্ষমতা অতিক্রম না করে এবং প্রতিটি দোকানের জন্য প্রয়োজনীয় সংখ্যক পণ্যের জন্য সমস্ত অনুরোধ সন্তুষ্ট করার সময় স্টোরগুলির মধ্যে সরবরাহের পরিমাণ কতটা আকর্ষণীয়ভাবে বিতরণ করা হয়েছিল সেদিকে মনোযোগ দিন।

যদি পাওয়া সমাধানটি আমাদের জন্য উপযুক্ত হয়, তাহলে আমরা এটি সংরক্ষণ করতে পারি বা মূল মানগুলিতে ফিরে যেতে পারি এবং অন্যান্য পরামিতিগুলির সাথে আবার চেষ্টা করতে পারি। আপনি পরামিতিগুলির নির্বাচিত সংমিশ্রণটিকেও সংরক্ষণ করতে পারেন দৃশ্যপট. ব্যবহারকারীর অনুরোধে, এক্সেল তিন ধরনের নির্মাণ করতে পারে প্রতিবেদন সমস্যাটি পৃথক শীটে সমাধান করা হচ্ছে: ফলাফলের একটি প্রতিবেদন, সমাধানের গাণিতিক স্থিতিশীলতার একটি প্রতিবেদন এবং সমাধানের সীমা (সীমাবদ্ধতা) সম্পর্কে একটি প্রতিবেদন, তবে, বেশিরভাগ ক্ষেত্রে, সেগুলি শুধুমাত্র বিশেষজ্ঞদের জন্যই আগ্রহী। .

তবে, এমন পরিস্থিতি রয়েছে যেখানে এক্সেল একটি উপযুক্ত সমাধান খুঁজে পায় না। যদি আমরা আমাদের উদাহরণে গুদামগুলির মোট ক্ষমতার চেয়ে বেশি পরিমাণে স্টোরগুলির প্রয়োজনীয়তাগুলি নির্দেশ করি তবে এই জাতীয় কেস অনুকরণ করা সম্ভব। তারপর, একটি অপ্টিমাইজেশান সম্পাদন করার সময়, এক্সেল যতটা সম্ভব সমাধানের কাছাকাছি যাওয়ার চেষ্টা করবে এবং তারপর একটি বার্তা প্রদর্শন করবে যে সমাধানটি খুঁজে পাওয়া যাবে না। তবুও, এমনকি এই ক্ষেত্রেও, আমাদের কাছে প্রচুর দরকারী তথ্য রয়েছে - বিশেষত, আমরা আমাদের ব্যবসায়িক প্রক্রিয়াগুলির "দুর্বল লিঙ্ক" দেখতে পারি এবং উন্নতির জন্য ক্ষেত্রগুলি বুঝতে পারি।

বিবেচনা করা উদাহরণ, অবশ্যই, তুলনামূলকভাবে সহজ, কিন্তু সহজে অনেক জটিল সমস্যা সমাধানের জন্য স্কেল। উদাহরণ স্বরূপ:

  • আর্থিক সংস্থান বিতরণের অপ্টিমাইজেশন ব্যবসায়িক পরিকল্পনা বা প্রকল্পের বাজেটে ব্যয়ের আইটেম দ্বারা। এই ক্ষেত্রে, সীমাবদ্ধতাগুলি হবে অর্থায়নের পরিমাণ এবং প্রকল্পের সময়, এবং অপ্টিমাইজেশনের লক্ষ্য হল লাভ সর্বাধিক করা এবং প্রকল্পের খরচ কমানো।
  • কর্মচারী সময়সূচী অপ্টিমাইজেশান এন্টারপ্রাইজের মজুরি তহবিল হ্রাস করার জন্য। বিধিনিষেধ, এই ক্ষেত্রে, কর্মসংস্থানের সময়সূচী এবং স্টাফিং টেবিলের প্রয়োজনীয়তা অনুযায়ী প্রতিটি কর্মচারীর ইচ্ছা হবে।
  • বিনিয়োগ বিনিয়োগ অপ্টিমাইজেশান - অনেকগুলি ব্যাঙ্ক, সিকিউরিটিজ বা এন্টারপ্রাইজের শেয়ারগুলির মধ্যে সঠিকভাবে তহবিল বন্টন করার প্রয়োজন, আবার, মুনাফা বাড়ানোর জন্য বা (যদি আরও গুরুত্বপূর্ণ) ঝুঁকি কমাতে।

যাই হোক না কেন, অ্যাড-অন অনুসন্ধান সমাধান (সমাধানকারী) এটি একটি অত্যন্ত শক্তিশালী এবং সুন্দর এক্সেল টুল এবং আপনার মনোযোগের যোগ্য, কারণ এটি আপনাকে আধুনিক ব্যবসায় মোকাবেলা করা অনেক কঠিন পরিস্থিতিতে সাহায্য করতে পারে।

নির্দেশিকা সমন্ধে মতামত দিন