যদিও আপনার প্রশ্ন এটি না বলে, আমি ধরে নিচ্ছি যে আপনি উইন্ডোজগুলি ওভারল্যাপ করতে চান না।
এই সমস্যার একটা পদক্ষেপ যেমন সমাধানকারী একটি বাধ্যতা ব্যবহার করা চোকো । আপনার সমস্যার এনকোডিংয়ের প্রতিবন্ধকতাগুলি কেবল একটি লিখে দেয়, একটি স্মার্ট উপায়ে কাজ করার জন্য সমাধানকারীকে সুর দেয় এবং তারপরে এটি চালিয়ে দেওয়া যায়। এর অর্থ হ'ল আপনার যে ভাবনাটি করতে হবে তা সমস্যাটি এনকোডিংয়ের একটি ভাল উপায় অনুসন্ধানে ব্যয় করা হবে, একটি অ্যালগরিদম তৈরি করতে এবং প্রোগ্রামিং ও সুর করার ক্ষেত্রে নয়। আপনাকে শুরু করার জন্য এখানে একটি আংশিক উত্তর is
অনুমান স্ক্রিন সাইজ হল ।এক্সআমি একটি এক্স× yআমি একটি এক্স
প্রতিটি উইন্ডো, আপনার কাছে এবং সীমাবদ্ধতার একটি সেট থাকবেx i , y i , h i , w iওয়াটআমিএক্সআমি, yআমি, এইচআমি, ডাব্লুআমি
- এক্সআমি, yআমি, এইচআমি, ডাব্লুআমি≥ 0
- এক্সআমি+ + ডাব্লুআমি≤ Xআমি একটি এক্স
- Yআমি+ + এইচআমি≤ yআমি একটি এক্স
- উইন্ডোগুলির ন্যূনতম আকারে সম্ভবত কিছু রয়েছে, যেমন, এবং আরও কিছু কিছু।জআমি। 100
- দিকের সীমাবদ্ধতা: যদি অনুপাতের অনুপাত 3: 4 হয় তবে এই প্রতিবন্ধকতা মতো কিছু হতে পারে , যেখানে হ'ল কিছু অ-শূন্য ত্রুটি শব্দ যা অ- অনুমতি দেয় উইন্ডো মাপ, অন্যথায় আপনি সমস্যার সীমাবদ্ধতা চাই।ϵ ϵ4 এইচআমি- ε ≤ 3 Wআমি। 4 এইচআমি+ + εε
এখন আপনার উইন্ডো ওভারল্যাপের যত্ন নেওয়া দরকার। উইন্ডোজ, প্রতিটি জোড়া জন্য , যেখানে , আপনি নিম্নলিখিত, যা ক্যাপচার যে কোন কোণায় মত সীমাবদ্ধতা তৈরি করে দেব মধ্যে প্রদর্শিত । জন্য , বাধ্যতা উৎপন্ন: আমি ≠ ঞ ডব্লিউ ঞ ডব্লিউ আমি ( এক্স , Y ) ∈ { ( এক্স ঞ , Y ঞ ) , ( এক্স ঞ + + W ঞ , Y ঞ ) , ( এক্স ঞ , Y ঞ + + জ ঞ ) , ( এক্স জে + ডাব্লু জে , ওয়াই জে + এইচ জেওয়াটআমি, ডাব্লুঞi ≠ jWjWi(x,y)∈{(xj,yj),(xj+wj,yj),(xj,yj+hj),(xj+wj,yj+hj)}
- ¬(xi≤x≤xi+wj∧yi≤y≤yi+hj) ।
এইভাবে নির্দিষ্ট হওয়া সীমাবদ্ধতাগুলি কেবল অ-ওভারল্যাপিং উইন্ডোগুলিকে বর্ণনা করে যা পর্দার চারপাশে ছড়িয়ে পড়ে না, কিছু ন্যূনতম আকারের সীমাবদ্ধতাগুলি পূরণ করে এবং এটি তাদের দিক অনুপাত সংরক্ষণ করে serve
একটি ভাল ফিট পেতে, আপনাকে একটি ম্যাট্রিক নির্দিষ্ট করতে হবে যা একটি ভাল লেআউট হওয়ার অর্থ কী তা ক্যাপচার করে। একটি সম্ভাবনা হ'ল আপনি ধরে নিতে পারেন যে আপনি উইন্ডোজ আকারে প্রায় সমান রাখতে চান এবং / অথবা আপনি "সাদা স্থান" হ্রাস করতে চান। আমি মনে করি না যে এটি চোকো ব্যবহার করে নির্দিষ্ট করা যেতে পারে তবে অন্য প্রতিবন্ধকতা সমাধানের মাধ্যমে এটি সম্ভব হতে পারে (অন্য কেউ এখানে সহায়তা করতে সক্ষম হতে পারে)।
চোকো একক ভেরিয়েবল হিসাবে নির্দিষ্ট কোনও উদ্দেশ্য ফাংশনে রিটকে সর্বাধিকতর করতে দেয়। এই ধারণার ভিত্তিতে, আপনি নিম্নলিখিতগুলি সর্বাধিকতর করতে পারেন:
একটি বাধ্যতা লিখে বাড়ানোর লক্ষ্যে এবং কহন চোকো ।সি ও এস টিcost=∑i(hi+wi)cost