அதை எவ்வாறு செயல்படுத்துவது என்பதை கட்டுரை விவரிக்கிறது பயன்படுத்துவதற்கான WMS-சிஸ்டம், தரமற்ற கிளஸ்டரிங் சிக்கலைத் தீர்க்க வேண்டிய அவசியத்தை நாங்கள் எதிர்கொண்டோம், அதைத் தீர்க்க நாங்கள் என்ன வழிமுறைகளைப் பயன்படுத்தினோம். சிக்கலைத் தீர்ப்பதில் முறையான, விஞ்ஞான அணுகுமுறையை எவ்வாறு பயன்படுத்தினோம், என்ன சிரமங்களை எதிர்கொண்டோம், என்ன பாடங்களைக் கற்றுக்கொண்டோம் என்பதை நாங்கள் உங்களுக்குச் சொல்வோம்.
இந்த வெளியீடு தொடர் கட்டுரைகளைத் தொடங்குகிறது, இதில் கிடங்கு செயல்முறைகளில் தேர்வுமுறை வழிமுறைகளை செயல்படுத்துவதில் எங்கள் வெற்றிகரமான அனுபவத்தைப் பகிர்ந்து கொள்கிறோம். எந்தவொரு நடுத்தர மற்றும் பெரிய கிடங்கிலும் எழும் கிடங்கு செயல்பாடுகளின் மேம்படுத்தல் சிக்கல்களின் வகைகளை பார்வையாளர்களுக்கு அறிமுகப்படுத்துவதும், இதுபோன்ற சிக்கல்களைத் தீர்ப்பதில் எங்கள் அனுபவத்தைப் பற்றியும், வழியில் எதிர்கொள்ளும் ஆபத்துகளைப் பற்றியும் கூறுவதுதான் கட்டுரைத் தொடரின் நோக்கம். . கிடங்கு தளவாடத் துறையில் பணிபுரிபவர்களுக்கு கட்டுரைகள் பயனுள்ளதாக இருக்கும் பயன்படுத்துவதற்கான WMS-அமைப்புகள், அத்துடன் வணிகத்தில் கணிதத்தின் பயன்பாடுகள் மற்றும் ஒரு நிறுவனத்தில் செயல்முறைகளை மேம்படுத்துவதில் ஆர்வமுள்ள புரோகிராமர்கள்.
செயல்முறைகளில் இடையூறு
2018 இல், செயல்படுத்துவதற்கான ஒரு திட்டத்தை நாங்கள் முடித்தோம் பயன்படுத்துவதற்கான WMS-செல்யாபின்ஸ்கில் உள்ள “டிரேடிங் ஹவுஸ் “எல்டி” நிறுவனத்தின் கிடங்கில் உள்ள அமைப்புகள். 1 பணியிடங்களுக்கு “3C-Logistics: Warehouse Management 20” தயாரிப்பை நாங்கள் செயல்படுத்தினோம்: ஆபரேட்டர்கள் பயன்படுத்துவதற்கான WMS, கடைக்காரர்கள், ஃபோர்க்லிஃப்ட் டிரைவர்கள். சராசரி கிடங்கு சுமார் 4 ஆயிரம் மீ 2, செல்கள் எண்ணிக்கை 5000 மற்றும் SKU களின் எண்ணிக்கை 4500. கிடங்கு 1 கிலோ முதல் 400 கிலோ வரை வெவ்வேறு அளவுகளில் எங்கள் சொந்த உற்பத்தியின் பந்து வால்வுகளை சேமிக்கிறது. FIFO இன் படி பொருட்களைத் தேர்ந்தெடுக்க வேண்டிய அவசியம் இருப்பதால், கிடங்கில் உள்ள சரக்கு தொகுதிகளில் சேமிக்கப்படுகிறது.
கிடங்கு செயல்முறை தன்னியக்க திட்டங்களை வடிவமைக்கும் போது, தற்போதுள்ள சிக்கலை நாங்கள் எதிர்கொண்டோம். கிரேன்களை சேமித்து வைப்பதன் பிரத்தியேகங்கள் என்னவென்றால், ஒரு யூனிட் சேமிப்பக கலத்தில் ஒரு தொகுதியின் பொருட்களை மட்டுமே கொண்டிருக்க முடியும். பொருட்கள் தினசரி கிடங்கிற்கு வந்து சேரும், ஒவ்வொரு வருகையும் தனித்தனியாக இருக்கும். மொத்தத்தில், 1 மாத கிடங்கு செயல்பாட்டின் விளைவாக, ஒவ்வொன்றும் தனித்தனி கலத்தில் சேமிக்கப்பட வேண்டும் என்ற போதிலும், 30 தனித்தனி தொகுதிகள் உருவாக்கப்படுகின்றன. தயாரிப்புகள் பெரும்பாலும் முழு தட்டுகளில் அல்ல, ஆனால் துண்டுகளாக தேர்ந்தெடுக்கப்படுகின்றன, இதன் விளைவாக, பல கலங்களில் துண்டு தேர்வு மண்டலத்தில் பின்வரும் படம் காணப்படுகிறது: 1 மீ 3 க்கும் அதிகமான அளவு கொண்ட ஒரு கலத்தில் பல கிரேன்கள் உள்ளன. செல் அளவின் 5-10% க்கும் குறைவாக ஆக்கிரமிக்கின்றன.
படம் 1. ஒரு கலத்தில் உள்ள பல பொருட்களின் புகைப்படம்
சேமிப்பக திறன் உகந்ததாக பயன்படுத்தப்படவில்லை என்பது தெளிவாகிறது. பேரழிவின் அளவை கற்பனை செய்ய, நான் புள்ளிவிவரங்களை கொடுக்க முடியும்: சராசரியாக, கிடங்கின் செயல்பாட்டின் வெவ்வேறு காலகட்டங்களில் "மைனஸ்குல்" இருப்புகளுடன் 1 மீ 3 க்கும் அதிகமான அளவு கொண்ட அத்தகைய கலங்களின் 100 முதல் 300 செல்கள் உள்ளன. கிடங்கு ஒப்பீட்டளவில் சிறியதாக இருப்பதால், கிடங்கு பிஸியான பருவங்களில் இந்த காரணி ஒரு "தடையாக" மாறும் மற்றும் கிடங்கு செயல்முறைகளை வெகுவாகக் குறைக்கிறது.
பிரச்சனை தீர்வு யோசனை
ஒரு யோசனை எழுந்தது: மிக நெருங்கிய தேதிகளைக் கொண்ட எஞ்சியவை ஒரு தொகுப்பாகக் குறைக்கப்பட வேண்டும், மேலும் ஒரு கலத்தில் அல்லது பலவற்றில் இடமளிக்க போதுமான இடம் இல்லாவிட்டால், ஒரு கலத்தில் அல்லது பலவற்றில் ஒரு தொகுப்பாக எஞ்சியவைகளை ஒன்றாக வைக்க வேண்டும். மீதமுள்ள மொத்த அளவு.
படம்.2. செல்களில் எச்சங்களை அழுத்துவதற்கான திட்டம்
இது புதிய பொருட்களை வைக்க பயன்படுத்தப்படும் ஆக்கிரமிக்கப்பட்ட கிடங்கு இடத்தை கணிசமாகக் குறைக்க உங்களை அனுமதிக்கிறது. கிடங்கு திறன் அதிக சுமை உள்ள சூழ்நிலையில், அத்தகைய நடவடிக்கை மிகவும் அவசியம், இல்லையெனில் புதிய பொருட்களை இடமளிக்க போதுமான இலவச இடம் இருக்காது, இது கிடங்கு வைப்பு மற்றும் நிரப்புதல் செயல்முறைகளில் நிறுத்தத்திற்கு வழிவகுக்கும். செயல்படுத்துவதற்கு முன்பு பயன்படுத்துவதற்கான WMS-அமைப்புகள் இந்த செயல்பாட்டை கைமுறையாகச் செய்தன, இது பயனற்றது, ஏனெனில் கலங்களில் பொருத்தமான எச்சங்களைத் தேடும் செயல்முறை மிகவும் நீண்டது. இப்போது, ஒரு WMS அமைப்பை அறிமுகப்படுத்தியதன் மூலம், செயல்முறையை தானியங்குபடுத்தவும், அதை விரைவுபடுத்தவும், அதை அறிவார்ந்ததாக மாற்றவும் முடிவு செய்தோம்.
அத்தகைய சிக்கலை தீர்க்கும் செயல்முறை 2 நிலைகளாக பிரிக்கப்பட்டுள்ளது:
- முதல் கட்டத்தில், சுருக்கத்திற்கான தேதியில் நெருங்கிய தொகுதிகளின் குழுக்களைக் காண்கிறோம்;
- இரண்டாவது கட்டத்தில், ஒவ்வொரு தொகுதிக் குழுவிற்கும் கலங்களில் மீதமுள்ள பொருட்களின் மிகக் கச்சிதமான இடத்தைக் கணக்கிடுகிறோம்.
தற்போதைய கட்டுரையில், அல்காரிதத்தின் முதல் கட்டத்தில் கவனம் செலுத்துவோம், மேலும் அடுத்த கட்டுரைக்கு இரண்டாவது கட்டத்தின் கவரேஜை விட்டுவிடுவோம்.
சிக்கலின் கணித மாதிரியைத் தேடுங்கள்
குறியீட்டை எழுதுவதற்கும் எங்கள் சக்கரத்தை மீண்டும் கண்டுபிடிப்பதற்கும் முன், இந்த சிக்கலை அறிவியல் ரீதியாக அணுக முடிவு செய்தோம், அதாவது: கணித ரீதியாக அதை உருவாக்கவும், நன்கு அறியப்பட்ட தனித்துவமான தேர்வுமுறை சிக்கலாக குறைக்கவும் மற்றும் அதைத் தீர்க்க பயனுள்ள வழிமுறைகளைப் பயன்படுத்தவும் அல்லது ஏற்கனவே உள்ள இந்த வழிமுறைகளைப் பயன்படுத்தவும். ஒரு அடிப்படையாக மற்றும் தீர்க்கப்படும் நடைமுறை சிக்கலின் பிரத்தியேகங்களுக்கு அவற்றை மாற்றியமைக்கவும்.
நாம் செட்களைக் கையாள்வது சிக்கலின் வணிக உருவாக்கத்திலிருந்து தெளிவாகப் பின்தொடர்வதால், செட் கோட்பாட்டின் அடிப்படையில் அத்தகைய சிக்கலை உருவாக்குவோம்.
நாம் - ஒரு கிடங்கில் ஒரு குறிப்பிட்ட பொருளின் மீதமுள்ள அனைத்து தொகுதிகளின் தொகுப்பு. விடுங்கள் - நாட்கள் நிலையானது. விடுங்கள் - தொகுதிகளின் துணைக்குழு, இதில் துணைக்குழுவில் உள்ள அனைத்து ஜோடி தொகுப்புகளுக்கும் தேதிகளில் உள்ள வேறுபாடு மாறிலிக்கு மேல் இல்லை . குறைந்த பட்ச எண்ணிக்கையிலான பிரிவினை துணைக்குழுக்களை நாம் கண்டுபிடிக்க வேண்டும் , அனைத்து துணைக்குழுக்கள் ஒன்றாக எடுத்தால் பல தரும் .
வேறு வார்த்தைகளில் கூறுவதானால், ஒற்றுமை அளவுகோல் மாறிலியால் தீர்மானிக்கப்படும் ஒத்த கட்சிகளின் குழுக்கள் அல்லது கிளஸ்டர்களை நாம் கண்டுபிடிக்க வேண்டும். . இந்த பணி நன்கு அறியப்பட்ட கிளஸ்டரிங் சிக்கலை நமக்கு நினைவூட்டுகிறது. பரிசீலனையில் உள்ள சிக்கல் கிளஸ்டரிங் சிக்கலில் இருந்து வேறுபடுகிறது என்று கூறுவது முக்கியம், எங்கள் பிரச்சனை கிளஸ்டர் உறுப்புகளின் ஒற்றுமையின் அளவுகோலுக்கு கண்டிப்பாக வரையறுக்கப்பட்ட நிபந்தனையைக் கொண்டுள்ளது, இது மாறிலியால் தீர்மானிக்கப்படுகிறது. , ஆனால் கிளஸ்டரிங் பிரச்சனையில் அத்தகைய நிலை இல்லை. கிளஸ்டரிங் பிரச்சனையின் அறிக்கை மற்றும் இந்த பிரச்சனை பற்றிய தகவலைக் காணலாம்
எனவே, சிக்கலை உருவாக்கி, இதேபோன்ற சூத்திரத்துடன் கிளாசிக்கல் சிக்கலைக் கண்டறிய முடிந்தது. இப்போது அதைத் தீர்ப்பதற்கான நன்கு அறியப்பட்ட வழிமுறைகளைக் கருத்தில் கொள்வது அவசியம், அதனால் சக்கரத்தை மீண்டும் கண்டுபிடிக்க முடியாது, ஆனால் சிறந்த நடைமுறைகளை எடுத்து அவற்றைப் பயன்படுத்துங்கள். கிளஸ்டரிங் சிக்கலைத் தீர்க்க, நாங்கள் மிகவும் பிரபலமான வழிமுறைகளைக் கருத்தில் கொண்டோம், அதாவது: - அர்த்தம் -அதாவது, இணைக்கப்பட்ட கூறுகளை அடையாளம் காணும் வழிமுறை, குறைந்தபட்ச பரவலான மர வழிமுறை. அத்தகைய அல்காரிதம்களின் விளக்கம் மற்றும் பகுப்பாய்வு காணலாம்
எங்கள் சிக்கலைத் தீர்க்க, கிளஸ்டரிங் அல்காரிதம்கள் - பொருள் மற்றும் -அர்த்தம் பொருந்தாது, ஏனெனில் க்ளஸ்டர்களின் எண்ணிக்கை முன்கூட்டியே தெரியாது மற்றும் அத்தகைய வழிமுறைகள் நிலையான நாட்கள் தடையை கணக்கில் எடுத்துக்கொள்ளாது. இத்தகைய வழிமுறைகள் ஆரம்பத்தில் கருத்தில் இருந்து நிராகரிக்கப்பட்டன.
எங்கள் சிக்கலைத் தீர்க்க, இணைக்கப்பட்ட கூறுகளை அடையாளம் காண்பதற்கான வழிமுறை மற்றும் குறைந்தபட்ச பரவலான மர வழிமுறை மிகவும் பொருத்தமானது, ஆனால், அது மாறியது போல், தீர்க்கப்படும் சிக்கலுக்கு அவை "தலைகீழாக" பயன்படுத்தப்பட்டு நல்ல தீர்வைப் பெற முடியாது. இதை விளக்க, நமது பிரச்சனையுடன் தொடர்புடைய அல்காரிதம்களின் செயல்பாட்டின் தர்க்கத்தை கருத்தில் கொள்வோம்.
வரைபடத்தைக் கவனியுங்கள் , இதில் செங்குத்துகள் கட்சிகளின் தொகுப்பாகும் , மற்றும் செங்குத்துகளுக்கு இடையில் விளிம்பு и தொகுதிகளுக்கு இடையிலான நாட்களின் வித்தியாசத்திற்கு சமமான எடையைக் கொண்டுள்ளது и . இணைக்கப்பட்ட கூறுகளை அடையாளம் காணும் அல்காரிதத்தில், உள்ளீட்டு அளவுரு குறிப்பிடப்பட்டுள்ளது அங்கு , மற்றும் வரைபடத்தில் எடை அதிகமாக இருக்கும் அனைத்து விளிம்புகளும் அகற்றப்படும் . மிக நெருக்கமான ஜோடி பொருள்கள் மட்டுமே இணைக்கப்பட்டுள்ளன. அத்தகைய மதிப்பைத் தேர்ந்தெடுப்பதே அல்காரிதத்தின் புள்ளி , இதில் வரைபடம் பல இணைக்கப்பட்ட கூறுகளாக "விழும்", இந்த கூறுகளைச் சேர்ந்த கட்சிகள் மாறிலியால் தீர்மானிக்கப்படும் நமது ஒற்றுமை அளவுகோலை பூர்த்தி செய்யும். . இதன் விளைவாக வரும் கூறுகள் கொத்துகள்.
குறைந்தபட்ச பரவலான மர வழிமுறை முதலில் ஒரு வரைபடத்தில் உருவாக்கப்படுகிறது குறைந்தபட்சம் பரந்து விரிந்து கிடக்கும் மரம், பின்னர் கிராஃப் பல இணைக்கப்பட்ட கூறுகளாக "விழும்" வரை அதிக எடை கொண்ட விளிம்புகளை தொடர்ச்சியாக நீக்குகிறது, இந்த கூறுகளைச் சேர்ந்த கட்சிகளும் எங்கள் ஒற்றுமை அளவுகோலை பூர்த்தி செய்யும். இதன் விளைவாக வரும் கூறுகள் கொத்துகளாக இருக்கும்.
பரிசீலனையில் உள்ள சிக்கலைத் தீர்க்க இத்தகைய வழிமுறைகளைப் பயன்படுத்தும் போது, படம் 3 இல் உள்ளதைப் போல ஒரு சூழ்நிலை ஏற்படலாம்.
படம் 3. தீர்க்கப்படும் சிக்கலுக்கு கிளஸ்டரிங் அல்காரிதம்களின் பயன்பாடு
பேட்ச் நாட்களுக்கு இடையிலான வித்தியாசத்திற்கான நமது மாறிலி 20 நாட்கள் என்று வைத்துக்கொள்வோம். வரைபடம் காட்சி உணர்வின் எளிமைக்காக இடஞ்சார்ந்த வடிவத்தில் சித்தரிக்கப்பட்டது. இரண்டு அல்காரிதங்களும் 3-கிளஸ்டர் தீர்வை உருவாக்கியது, தனித்தனி கிளஸ்டர்களில் வைக்கப்பட்டுள்ள தொகுதிகளை ஒன்றுடன் ஒன்று இணைப்பதன் மூலம் எளிதாக மேம்படுத்தலாம்! தீர்க்கப்படும் சிக்கலின் பிரத்தியேகங்களுக்கு ஏற்றவாறு இத்தகைய வழிமுறைகள் மாற்றியமைக்கப்பட வேண்டும் என்பது வெளிப்படையானது, மேலும் எங்கள் சிக்கலைத் தீர்ப்பதற்கு அதன் தூய வடிவத்தில் அவற்றின் பயன்பாடு மோசமான முடிவுகளைத் தரும்.
எனவே, எங்கள் பணிக்காக மாற்றியமைக்கப்பட்ட வரைபட அல்காரிதங்களுக்கான குறியீட்டை எழுதத் தொடங்குவதற்கும், எங்கள் சொந்த சைக்கிளை மீண்டும் கண்டுபிடிப்பதற்கும் முன்பு (சதுர சக்கரங்களின் வெளிப்புறங்களை நாம் ஏற்கனவே அறியக்கூடிய நிழல்களில்), மீண்டும், அத்தகைய சிக்கலை அறிவியல் ரீதியாக அணுக முடிவு செய்தோம், அதாவது: அதைத் தீர்ப்பதற்கான தற்போதைய வழிமுறைகள் மாற்றமின்றிப் பயன்படுத்தப்படலாம் என்ற நம்பிக்கையில், அதை மற்றொரு தனித்துவமான சிக்கல் தேர்வுமுறைக்கு குறைக்க முயற்சிக்கவும்.
இதே போன்ற கிளாசிக்கல் பிரச்சனைக்கான மற்றொரு தேடல் வெற்றிகரமாக உள்ளது! நாங்கள் ஒரு தனித்துவமான தேர்வுமுறை சிக்கலைக் கண்டுபிடிக்க முடிந்தது, அதன் உருவாக்கம் எங்கள் சிக்கலை உருவாக்குவதோடு 1 இல் 1 ஒத்துப்போகிறது. இந்த பணி மாறியது மூடிமறைப்பு பிரச்சனையை அமைக்கவும். எங்கள் பிரத்தியேகங்கள் தொடர்பாக சிக்கலின் உருவாக்கத்தை முன்வைப்போம்.
ஒரு வரையறுக்கப்பட்ட தொகுப்பு உள்ளது மற்றும் குடும்பம் ஒவ்வொரு துணைக்குழுவின் அனைத்து ஜோடி கட்சிகளுக்கும் தேதிகளில் உள்ள வித்தியாசம் போன்ற கட்சிகளின் அனைத்து பிரிக்கப்பட்ட துணைக்குழுக்கள் குடும்பத்தில் இருந்து மாறிலிகளுக்கு மேல் இல்லை . ஒரு மூடுதல் ஒரு குடும்பம் என்று அழைக்கப்படுகிறது குறைந்த சக்தியின், கூறுகள் சேர்ந்தவை , போன்ற தொகுப்புகளின் ஒன்றியம் குடும்பத்தில் இருந்து அனைத்து கட்சிகளின் தொகுப்பையும் கொடுக்க வேண்டும் .
இந்த சிக்கலின் விரிவான பகுப்பாய்வைக் காணலாம்
சிக்கலைத் தீர்ப்பதற்கான அல்காரிதம்
தீர்க்கப்பட வேண்டிய சிக்கலின் கணித மாதிரியை நாங்கள் முடிவு செய்துள்ளோம். இப்போது அதைத் தீர்ப்பதற்கான வழிமுறையைப் பார்ப்போம். துணைக்குழுக்கள் குடும்பத்தில் இருந்து பின்வரும் செயல்முறை மூலம் எளிதாக கண்டுபிடிக்க முடியும்.
- ஒரு தொகுப்பிலிருந்து தொகுதிகளை ஒழுங்கமைக்கவும் அவர்களின் தேதிகளின் இறங்கு வரிசையில்.
- குறைந்தபட்ச மற்றும் அதிகபட்ச தொகுதி தேதிகளைக் கண்டறியவும்.
- ஒவ்வொரு நாளும் குறைந்தபட்ச தேதியிலிருந்து அதிகபட்சம் வரை, தேதிகள் வேறுபடும் அனைத்து தொகுதிகளையும் கண்டறியவும் இதனை விட (எனவே மதிப்பு சம எண்ணை எடுப்பது நல்லது).
தொகுப்புகளின் குடும்பத்தை உருவாக்குவதற்கான நடைமுறையின் தர்க்கம் மணிக்கு நாட்கள் படம் 4 இல் காட்டப்பட்டுள்ளது.
படம்.4. கட்சிகளின் துணைக்குழுக்களின் உருவாக்கம்
இந்த நடைமுறை அனைவருக்கும் அவசியமில்லை மற்ற எல்லாத் தொகுதிகளிலும் சென்று அவற்றின் தேதிகளில் உள்ள வித்தியாசத்தை அல்லது தற்போதைய மதிப்பிலிருந்து சரிபார்க்கவும் தேதி வேறுபட்ட ஒரு தொகுப்பைக் கண்டுபிடிக்கும் வரை இடது அல்லது வலது பக்கம் நகர்த்தவும் மாறிலியின் மதிப்பில் பாதிக்கு மேல். அனைத்து அடுத்தடுத்த கூறுகளும், வலது மற்றும் இடதுபுறமாக நகரும் போது, எங்களுக்கு சுவாரஸ்யமாக இருக்காது, ஏனெனில் அவர்களுக்கு நாட்களில் உள்ள வேறுபாடுகள் மட்டுமே அதிகரிக்கும், ஏனெனில் வரிசையில் உள்ள உறுப்புகள் ஆரம்பத்தில் வரிசைப்படுத்தப்பட்டன. இந்த அணுகுமுறை கட்சிகளின் எண்ணிக்கை மற்றும் அவற்றின் தேதிகளின் பரவல் கணிசமாக பெரியதாக இருக்கும்போது நேரத்தை கணிசமாக மிச்சப்படுத்தும்.
செட் கவரிங் பிரச்சனை -கடினமானது, அதாவது வேகம் இல்லை (உள்ளீட்டுத் தரவின் பல்லுறுப்புக்கோவைக்கு சமமான இயக்க நேரத்துடன்) மற்றும் அதைத் தீர்ப்பதற்கான துல்லியமான அல்காரிதம். எனவே, செட் கவர் சிக்கலைத் தீர்க்க, வேகமான பேராசை கொண்ட வழிமுறை தேர்ந்தெடுக்கப்பட்டது, இது நிச்சயமாக துல்லியமானது அல்ல, ஆனால் பின்வரும் நன்மைகள் உள்ளன:
- சிறிய அளவிலான சிக்கல்களுக்கு (இது சரியாக எங்கள் வழக்கு), இது உகந்ததாக இருக்கும் தீர்வுகளை கணக்கிடுகிறது. பிரச்சனையின் அளவு அதிகரிக்கும் போது, தீர்வின் தரம் மோசமடைகிறது, ஆனால் இன்னும் மெதுவாக;
- செயல்படுத்த மிகவும் எளிதானது;
- வேகமாக, அதன் இயங்கும் நேர மதிப்பீடு என்பதால் .
பேராசை கொண்ட அல்காரிதம் பின்வரும் விதியின் அடிப்படையில் தொகுப்புகளைத் தேர்ந்தெடுக்கிறது: ஒவ்வொரு கட்டத்திலும், இதுவரை உள்ளடக்கப்படாத அதிகபட்ச உறுப்புகளை உள்ளடக்கிய ஒரு தொகுப்பு தேர்ந்தெடுக்கப்படுகிறது. அல்காரிதம் மற்றும் அதன் சூடோகோட் பற்றிய விரிவான விளக்கத்தைக் காணலாம்
நிகழ்தகவு பேராசை அல்காரிதம், எறும்பு காலனி அல்காரிதம் போன்ற பிற அறியப்பட்ட அல்காரிதம்களுடன் தீர்க்கப்படும் சிக்கலின் சோதனைத் தரவுகளில் இத்தகைய பேராசை கொண்ட அல்காரிதத்தின் துல்லியத்தின் ஒப்பீடு செய்யப்படவில்லை. உருவாக்கப்பட்ட சீரற்ற தரவுகளில் இத்தகைய அல்காரிதம்களை ஒப்பிடுவதன் முடிவுகளைக் காணலாம்
அல்காரிதத்தை செயல்படுத்துதல் மற்றும் செயல்படுத்துதல்
இந்த அல்காரிதம் மொழியில் செயல்படுத்தப்பட்டது 1S மற்றும் இணைக்கப்பட்ட "ரெசிட்யூ கம்ப்ரஷன்" எனப்படும் வெளிப்புறச் செயலாக்கத்தில் சேர்க்கப்பட்டது பயன்படுத்துவதற்கான WMS-அமைப்பு. நாங்கள் மொழியில் அல்காரிதத்தை செயல்படுத்தவில்லை சி ++ குறியீட்டின் வேகம் குறைவாக இருப்பதால், வெளிப்புற நேட்டிவ் கூறுகளிலிருந்து அதைப் பயன்படுத்தவும் சி ++ நேரங்கள் மற்றும் சில எடுத்துக்காட்டுகளில் இதே போன்ற குறியீட்டின் வேகத்தை விட பத்து மடங்கு வேகமானது 1S. நாக்கில் 1S வாடிக்கையாளரின் உற்பத்தித் தளத்தில் வளர்ச்சி நேரத்தைச் சேமிக்கவும், பிழைத்திருத்தத்தை எளிதாக்கவும் இந்த வழிமுறை செயல்படுத்தப்பட்டது. அல்காரிதம் முடிவு படம் 5 இல் காட்டப்பட்டுள்ளது.
படம்.5. எச்சங்களை "சுருக்க" செயலாக்கம்
படம் 5, குறிப்பிட்ட கிடங்கில், சேமிப்பக கலங்களில் உள்ள பொருட்களின் தற்போதைய நிலுவைகள் கொத்துக்களாகப் பிரிக்கப்பட்டுள்ளன, அதற்குள் பொருட்களின் தொகுப்புகளின் தேதிகள் 30 நாட்களுக்கு மேல் வேறுபடுவதில்லை. வாடிக்கையாளர் கிடங்கில் உலோக பந்து வால்வுகளை உற்பத்தி செய்து சேமித்து வைப்பதால், அதன் அடுக்கு வாழ்க்கை ஆண்டுகளில் கணக்கிடப்படுகிறது, அத்தகைய தேதி வித்தியாசம் புறக்கணிக்கப்படலாம். அத்தகைய செயலாக்கம் தற்போது உற்பத்தி மற்றும் ஆபரேட்டர்களில் முறையாகப் பயன்படுத்தப்படுகிறது என்பதை நினைவில் கொள்க பயன்படுத்துவதற்கான WMS கட்சி கிளஸ்டரிங்கின் நல்ல தரத்தை உறுதிப்படுத்தவும்.
முடிவுகள் மற்றும் தொடர்ச்சி
அத்தகைய நடைமுறைச் சிக்கலைத் தீர்ப்பதில் இருந்து நாம் பெற்ற முக்கிய அனுபவம், முன்னுதாரணத்தைப் பயன்படுத்துவதன் செயல்திறனை உறுதிப்படுத்துவதாகும்: கணிதம். பிரச்சனை அறிக்கை பிரபலமான பாய். மாதிரி பிரபலமான அல்காரிதம் சிக்கலின் பிரத்தியேகங்களை கணக்கில் எடுத்துக்கொள்வதற்கான வழிமுறை. தனித்துவமான தேர்வுமுறை 300 ஆண்டுகளுக்கும் மேலாக உள்ளது, இந்த நேரத்தில் மக்கள் நிறைய சிக்கல்களைக் கருத்தில் கொண்டு அவற்றைத் தீர்ப்பதில் நிறைய அனுபவங்களைக் குவிக்க முடிந்தது. முதலில், இந்த அனுபவத்திற்குத் திரும்புவது மிகவும் நல்லது, அதன் பிறகுதான் உங்கள் சக்கரத்தை மீண்டும் கண்டுபிடிக்கத் தொடங்குங்கள்.
அடுத்த கட்டுரையில், தேர்வுமுறை அல்காரிதம்கள் பற்றிய கதையைத் தொடர்வோம் மற்றும் மிகவும் சுவாரஸ்யமான மற்றும் மிகவும் சிக்கலானவற்றைப் பார்ப்போம்: செல் எச்சங்களின் உகந்த "சுருக்க" வழிமுறை, இது தொகுதி கிளஸ்டரிங் அல்காரிதத்திலிருந்து பெறப்பட்ட தரவை உள்ளீடாகப் பயன்படுத்துகிறது.
கட்டுரையைத் தயாரித்தார்
ரோமன் ஷங்கின், திட்டத் துறையின் புரோகிராமர்,
முதல் BIT நிறுவனம், செல்யாபின்ஸ்க்
ஆதாரம்: www.habr.com