লিনিয়ার অপ্টিমাইজেশনের জন্য সিমপ্লেক্স পদ্ধতির চেয়ে ইন্টিরির পয়েন্ট পদ্ধতির সুবিধা / অসুবিধাগুলি কী কী?


14

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


আপনার বিবৃতিগুলির একটি ভুল। উত্তল অপ্টিমাইজেশান সমস্যার সমাধান সর্বদা সীমানায় ঘটে না। উদাহরণস্বরূপ, , যেখানে অনুকূল সমাধানটি x = 0 এ দেখা যায় , যা সম্ভাব্য অঞ্চলের অভ্যন্তরে থাকে। এছাড়াও, রৈখিক প্রোগ্রামিংয়ের প্রসঙ্গে, সিমপ্লেক্স পদ্ধতিটি সাধারণত নেল্ডার-মিড সিমপ্লেক্স পদ্ধতিটিকে বোঝায়, যা এমনকি 1 এর চেয়ে বেশি মাত্রায় একটি সর্বোত্তম সমাধানে রূপান্তর করতে পারে না con এই পদ্ধতিটি উত্তল প্রোগ্রামিংয়ের জন্য প্রস্তাবিত নয়। স্পষ্টতা এবং সঠিকতার জন্য দয়া করে আপনার প্রশ্নটি সম্পাদনা করুন। minx[1,1]x2x=0
জেফ অক্সবেরি

"উত্তল অপ্টিমাইজেশন" এর পরিবর্তে "লিনিয়ার অপ্টিমাইজেশন" বলা কি আরও উপযুক্ত হবে?
পল

হ্যাঁ, তাহলে আপনার বক্তব্যটি সঠিক। আপনার প্রশ্ন সম্পাদনা করার জন্য আপনাকে ধন্যবাদ।
জেফ অক্সবেরি

সিমপ্লেক্স পদ্ধতির সমস্যাটি হ'ল এটিকে ননলাইনার সমস্যাগুলিতে সাধারণীকরণ করা যায় না, অর্থাৎ বাস্তব বিশ্বের বেশিরভাগ সমস্যা।

উত্তর:


17

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

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

সিমপ্লেক্সের পেশাদার:

  • প্রদত্ত সিদ্ধান্ত ভেরিয়েবল, সাধারণত মধ্যে এগোয় হে ( ) সঙ্গে অপারেশন হে ( ) pivots।nO(n)O(n)
  • সমস্যার জ্যামিতির সুবিধা গ্রহণ করে: সম্ভাব্য সেটগুলির শীর্ষে ঘুরে দেখা যায় এবং প্রতিটি দর্শনীয় শীর্ষস্থানটি অনুকূলতার জন্য পরীক্ষা করে। (প্রাথমিক সিম্পলেক্সে, হ্রাস খরচটি এই চেকের জন্য ব্যবহার করা যেতে পারে))
  • ছোট সমস্যার জন্য ভাল।

সিমপ্লেক্সের কনস:

  • প্রদত্ত সিদ্ধান্ত ভেরিয়েবল, আপনি সবসময় একটি সমস্যা উদাহরণ হিসেবে বলা যায় জানতে পারেন যেখানে অ্যালগরিদম প্রয়োজন হে ( 2 এন ) একটি সমাধান উতরান থেকে অপারেশন এবং pivots।nO(2n)
  • বড় সমস্যার জন্য এত দুর্দান্ত নয়, কারণ পাইভোটিং অপারেশন ব্যয়বহুল হয়ে যায়। কাটিং-প্লেন অ্যালগরিদম বা ড্যান্টজিগ-ওল্ফের মতো বিলম্বিত কলাম জেনারেশন অ্যালগরিদম কখনও কখনও এই ঘাটতির জন্য ক্ষতিপূরণ দিতে পারে।

অভ্যন্তর বিন্দু পদ্ধতির পেশাদার:

  • এর বহুপদী সময় asymptotic জটিলতা আছে , যেখানে এল অ্যালগরিদম ইনপুট বিট সংখ্যা।O(n3.5L2logLloglogL)L
  • বড়, স্পার্স সমস্যার জন্য আরও ভাল কারণ অ্যালগোরিদমের জন্য প্রয়োজনীয় লিনিয়ার বীজগণিত দ্রুত।

অভ্যন্তর বিন্দু পদ্ধতি সম্পর্কে ধারণা:

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

2
একটি ভাল সংক্ষিপ্তসার। ক্লি-মিন্টিকে আসলে সিমপ্লেক্স এলপি পদ্ধতিগুলিকে বিভ্রান্ত করার জন্য ডিজাইন করা হয়েছে বলে মনে হচ্ছে ...
জেএম

@ জেএম হ্যাঁ, এটি হ'ল এটির মূল বক্তব্য - সিমপ্লেক্স পদ্ধতিগুলি বহুপদী নয় তা দেখানোর জন্য এটি একটি স্পষ্ট নির্মাণ ((যদিও অভ্যন্তর বিন্দু পদ্ধতিগুলিও কাঁদছে এমন রূপগুলি রয়েছে)।
খ্রিস্টান ক্লাসন

এই তথ্যবহুল পোস্টের জন্য আপনাকে ধন্যবাদ। আমি ভাবছি কতগুলি পরিবর্তনশীল সমস্যাটিকে বড় করে তোলে? কয়েক ডজন? শত শত? হাজার হাজার মানুষ?
কেজেমাগ

5DAx

3

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


আমি বুঝতে পারি যে আমি যে উদাহরণ দিয়েছি তা লিনিয়ার প্রোগ্রাম ছিল না; আপনি যদি পুনর্বিবেচনার ইতিহাসটি দেখুন তবে এই প্রশ্নের একটি পূর্ববর্তী সংস্করণ উত্তল অপ্টিমাইজেশান সমস্যার জন্য সিম্পলেক্স পদ্ধতি এবং অভ্যন্তরীণ বিন্দু পদ্ধতির তুলনা করতে বলেছিল। আমি আমার সম্পাদনাগুলি ন্যায়সঙ্গত করার জন্য এবং মূল পোস্টারকে তার প্রশ্নটি সংশোধন করতে উত্সাহিত করার জন্য একটি পাল্টে নমুনা দিয়েছিলাম, যা তিনি করেছিলেন।
জিফ অক্সবেরি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.