WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1)

WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1)

గిడ్డంగిలో ఉచిత కణాల కొరత మరియు అటువంటి సమస్యను పరిష్కరించడానికి వివిక్త ఆప్టిమైజేషన్ అల్గోరిథం అభివృద్ధి సమస్యను ఎలా పరిష్కరించాలో ఈ వ్యాసంలో మేము మీకు తెలియజేస్తాము. మేము ఆప్టిమైజేషన్ సమస్య యొక్క గణిత నమూనాను ఎలా "నిర్మించాము" మరియు అల్గోరిథం కోసం ఇన్‌పుట్ డేటాను ప్రాసెస్ చేస్తున్నప్పుడు మేము ఊహించని విధంగా ఎదుర్కొన్న ఇబ్బందుల గురించి మాట్లాడుకుందాం.

మీరు వ్యాపారంలో గణితం యొక్క అనువర్తనాలపై ఆసక్తి కలిగి ఉంటే మరియు 5వ తరగతి స్థాయిలో సూత్రాల యొక్క దృఢమైన గుర్తింపు పరివర్తనలకు మీరు భయపడకపోతే, పిల్లికి స్వాగతం!

వ్యాసం అమలు చేసే వారికి ఉపయోగకరంగా ఉంటుంది WMS-వ్యవస్థలు, గిడ్డంగి లేదా ఉత్పత్తి లాజిస్టిక్స్ పరిశ్రమలో పనిచేస్తాయి, అలాగే వ్యాపారంలో గణిత శాస్త్ర అనువర్తనాలపై ఆసక్తి ఉన్న ప్రోగ్రామర్లు మరియు సంస్థలో ప్రక్రియల ఆప్టిమైజేషన్.

పరిచయ భాగం

ఈ ప్రచురణ వేర్‌హౌస్ ప్రాసెస్‌లలో ఆప్టిమైజేషన్ అల్గారిథమ్‌లను అమలు చేయడంలో మా విజయవంతమైన అనుభవాన్ని పంచుకునే కథనాల శ్రేణిని కొనసాగిస్తుంది.

В మునుపటి వ్యాసం మేము అమలు చేసిన గిడ్డంగి యొక్క ప్రత్యేకతలను వివరిస్తుంది WMS-సిస్టమ్, మరియు అమలు సమయంలో మిగిలిన వస్తువులను క్లస్టరింగ్ చేసే సమస్యను ఎందుకు పరిష్కరించాలో కూడా వివరిస్తుంది WMS-వ్యవస్థలు మరియు మేము దీన్ని ఎలా చేసాము.

మేము ఆప్టిమైజేషన్ అల్గారిథమ్‌లపై కథనాన్ని రాయడం పూర్తి చేసినప్పుడు, అది చాలా పెద్దదిగా మారింది, కాబట్టి మేము సేకరించిన పదార్థాన్ని 2 భాగాలుగా విభజించాలని నిర్ణయించుకున్నాము:

  • మొదటి భాగంలో (ఈ వ్యాసం) మేము సమస్య యొక్క గణిత నమూనాను ఎలా "నిర్మించాము" అనే దాని గురించి మరియు అల్గోరిథం కోసం ఇన్‌పుట్ డేటాను ప్రాసెస్ చేసేటప్పుడు మరియు మార్చేటప్పుడు మేము ఊహించని విధంగా ఎదుర్కొన్న గొప్ప ఇబ్బందుల గురించి మాట్లాడుతాము.
  • రెండవ భాగంలో మేము భాషలో అల్గోరిథం యొక్క అమలును వివరంగా పరిశీలిస్తాము C ++, మేము గణన ప్రయోగాన్ని నిర్వహిస్తాము మరియు కస్టమర్ యొక్క వ్యాపార ప్రక్రియలలో అటువంటి "ఇంటెలిజెంట్ టెక్నాలజీల" అమలు సమయంలో మేము పొందిన అనుభవాన్ని సంగ్రహిస్తాము.

ఒక కథనాన్ని ఎలా చదవాలి. మీరు మునుపటి కథనాన్ని చదివితే, మీరు వెంటనే “ఇప్పటికే ఉన్న పరిష్కారాల అవలోకనం” అనే అధ్యాయానికి వెళ్లవచ్చు; కాకపోతే, పరిష్కరించబడుతున్న సమస్య యొక్క వివరణ దిగువ స్పాయిలర్‌లో ఉంది.

కస్టమర్ యొక్క గిడ్డంగిలో పరిష్కరించబడుతున్న సమస్య యొక్క వివరణ

ప్రక్రియలలో అడ్డంకి

2018లో, మేము అమలు చేయడానికి ఒక ప్రాజెక్ట్‌ను పూర్తి చేసాము WMSచెలియాబిన్స్క్‌లోని "ట్రేడింగ్ హౌస్ "LD" గిడ్డంగిలో వ్యవస్థలు. మేము 1 కార్యాలయాల కోసం “3C-లాజిస్టిక్స్: వేర్‌హౌస్ మేనేజ్‌మెంట్ 20” ఉత్పత్తిని అమలు చేసాము: ఆపరేటర్లు WMS, స్టోర్ కీపర్లు, ఫోర్క్లిఫ్ట్ డ్రైవర్లు. సగటు గిడ్డంగి సుమారు 4 వేల m2, కణాల సంఖ్య 5000 మరియు SKU ల సంఖ్య 4500. గిడ్డంగి 1 కిలోల నుండి 400 కిలోల వరకు వివిధ పరిమాణాల మా స్వంత ఉత్పత్తి యొక్క బాల్ వాల్వ్‌లను నిల్వ చేస్తుంది. FIFO ప్రకారం వస్తువులను ఎంచుకోవాల్సిన అవసరం ఉన్నందున, గిడ్డంగిలోని ఇన్వెంటరీ బ్యాచ్‌లలో నిల్వ చేయబడుతుంది.

వేర్‌హౌస్ ప్రాసెస్ ఆటోమేషన్ స్కీమ్‌ల రూపకల్పన సమయంలో, మేము ప్రస్తుతం ఉన్న నాన్-ఆప్టిమల్ ఇన్వెంటరీ స్టోరేజ్ సమస్యను ఎదుర్కొన్నాము. క్రేన్లను నిల్వ చేయడం మరియు వేయడం యొక్క ప్రత్యేకతలు ఒక యూనిట్ నిల్వ సెల్ ఒక బ్యాచ్ నుండి వస్తువులను మాత్రమే కలిగి ఉంటుంది (Fig. 1 చూడండి). ఉత్పత్తులు ప్రతిరోజూ గిడ్డంగికి చేరుకుంటాయి మరియు ప్రతి రాక ప్రత్యేక బ్యాచ్. మొత్తంగా, 1 నెల గిడ్డంగి ఆపరేషన్ ఫలితంగా, 30 ప్రత్యేక బ్యాచ్‌లు సృష్టించబడతాయి, ప్రతి ఒక్కటి ప్రత్యేక సెల్‌లో నిల్వ చేయబడాలి. ఉత్పత్తులు తరచుగా మొత్తం ప్యాలెట్లలో కాకుండా ముక్కలుగా ఎంపిక చేయబడతాయి మరియు ఫలితంగా, అనేక కణాలలో ముక్క ఎంపిక జోన్‌లో ఈ క్రింది చిత్రాన్ని గమనించవచ్చు: 1 m3 కంటే ఎక్కువ వాల్యూమ్ ఉన్న సెల్‌లో అనేక క్రేన్‌ల ముక్కలు ఉన్నాయి. సెల్ వాల్యూమ్‌లో 5-10% కంటే తక్కువ ఆక్రమిస్తాయి.

WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1)
అత్తి 1. సెల్‌లోని అనేక ముక్కల ఫోటో

స్టోరేజీ కెపాసిటీని సరైన రీతిలో వినియోగించుకోవడం లేదనేది స్పష్టం. విపత్తు యొక్క స్థాయిని ఊహించడానికి, నేను గణాంకాలను ఇవ్వగలను: గిడ్డంగి యొక్క ఆపరేషన్ యొక్క వివిధ కాలాల్లో "మైనస్క్యూల్" బ్యాలెన్స్‌లతో 1 m3 కంటే ఎక్కువ వాల్యూమ్‌తో అటువంటి కణాలలో సగటున 100 నుండి 300 కణాలు ఉన్నాయి. గిడ్డంగి సాపేక్షంగా చిన్నది కాబట్టి, గిడ్డంగి రద్దీ సీజన్లలో ఈ అంశం "అడ్డం" అవుతుంది మరియు అంగీకారం మరియు రవాణా యొక్క గిడ్డంగి ప్రక్రియలను బాగా తగ్గిస్తుంది.

సమస్య పరిష్కార ఆలోచన

ఒక ఆలోచన వచ్చింది: దగ్గరి తేదీలతో మిగిలిపోయిన బ్యాచ్‌లను ఒకే బ్యాచ్‌కి తగ్గించాలి మరియు ఏకీకృత బ్యాచ్‌తో మిగిలిపోయిన వాటిని ఒక సెల్‌లో లేదా అనేక వాటిలో ఉంచడానికి తగినంత స్థలం లేకపోతే వాటిని కలిపి ఉంచాలి. మిగిలిపోయిన మొత్తం మొత్తం. అటువంటి "కంప్రెషన్" యొక్క ఉదాహరణ మూర్తి 2 లో చూపబడింది.

WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1)
Fig.2. కణాలలో అవశేషాలను కుదించే పథకం

కొత్త వస్తువులను ఉంచడానికి ఉపయోగించే ఆక్రమిత గిడ్డంగి స్థలాన్ని గణనీయంగా తగ్గించడానికి ఇది మిమ్మల్ని అనుమతిస్తుంది. గిడ్డంగి సామర్థ్యం ఓవర్‌లోడ్ అయిన పరిస్థితిలో, అటువంటి కొలత చాలా అవసరం, లేకపోతే కొత్త వస్తువులను ఉంచడానికి తగినంత ఖాళీ స్థలం ఉండకపోవచ్చు, ఇది ప్లేస్‌మెంట్ మరియు భర్తీ యొక్క గిడ్డంగి ప్రక్రియలను ఆపివేస్తుంది మరియు పర్యవసానంగా, అంగీకారం మరియు రవాణాలో ఆగిపోతుంది. ఇంతకుముందు, WMS వ్యవస్థ అమలుకు ముందు, అటువంటి ఆపరేషన్ మానవీయంగా నిర్వహించబడింది, ఇది పనికిరానిది, ఎందుకంటే కణాలలో తగిన బ్యాలెన్స్‌ల కోసం శోధించే ప్రక్రియ చాలా పొడవుగా ఉంది. ఇప్పుడు, WMS సిస్టమ్‌ను ప్రవేశపెట్టడంతో, మేము ప్రక్రియను స్వయంచాలకంగా మార్చాలని నిర్ణయించుకున్నాము, దానిని వేగవంతం చేయండి మరియు దానిని మేధోవంతంగా మార్చాము.

అటువంటి సమస్యను పరిష్కరించే ప్రక్రియ 2 దశలుగా విభజించబడింది:

  • మొదటి దశలో మేము కుదింపు కోసం తేదీకి దగ్గరగా ఉన్న బ్యాచ్‌ల సమూహాలను కనుగొంటాము (ఈ పనికి అంకితం చేయబడింది మునుపటి వ్యాసం);
  • రెండవ దశలో, బ్యాచ్‌ల యొక్క ప్రతి సమూహానికి మేము కణాలలో మిగిలిన వస్తువుల యొక్క అత్యంత కాంపాక్ట్ ప్లేస్‌మెంట్‌ను లెక్కిస్తాము.

ప్రస్తుత వ్యాసంలో మేము అల్గోరిథం యొక్క రెండవ దశపై దృష్టి పెడతాము.

ఇప్పటికే ఉన్న పరిష్కారాల సమీక్ష

మేము అభివృద్ధి చేసిన అల్గారిథమ్‌ల వివరణకు వెళ్లే ముందు, మార్కెట్లో ఇప్పటికే ఉన్న సిస్టమ్‌ల సంక్షిప్త అవలోకనాన్ని నిర్వహించడం విలువ. WMS, ఇది ఇలాంటి సరైన కుదింపు కార్యాచరణను అమలు చేస్తుంది.

అన్నింటిలో మొదటిది, ఉత్పత్తిని గమనించడం అవసరం “1C: Enterprise 8. WMS లాజిస్టిక్స్. వేర్‌హౌస్ మేనేజ్‌మెంట్ 4", ఇది 1C యాజమాన్యంలో ఉంది మరియు నాల్గవ తరానికి చెందినది WMS-AXELOT ద్వారా అభివృద్ధి చేయబడిన వ్యవస్థలు. ఈ సిస్టమ్ కంప్రెషన్ ఫంక్షనాలిటీని క్లెయిమ్ చేస్తుంది, ఇది ఒక సాధారణ సెల్‌లో అసమాన ఉత్పత్తిని ఏకం చేయడానికి రూపొందించబడింది. అటువంటి వ్యవస్థలోని కుదింపు కార్యాచరణ ఇతర అవకాశాలను కూడా కలిగి ఉందని పేర్కొనడం విలువ, ఉదాహరణకు, వారి ABC తరగతుల ప్రకారం కణాలలో వస్తువులను ఉంచడాన్ని సరిదిద్దడం, కానీ మేము వాటిపై నివసించము.

మీరు 1C కోడ్‌ని విశ్లేషిస్తే: ఎంటర్‌ప్రైజ్ 8. WMS లాజిస్టిక్స్ సిస్టమ్. వేర్‌హౌస్ నిర్వహణ 4" (ఇది కార్యాచరణ యొక్క ఈ భాగంలో తెరవబడింది), మేము ఈ క్రింది వాటిని ముగించవచ్చు. అవశేష కుదింపు అల్గోరిథం ఆదిమ లీనియర్ లాజిక్‌ను అమలు చేస్తుంది మరియు ఎటువంటి "ఆప్టిమల్" కంప్రెషన్ గురించి మాట్లాడలేము. సహజంగా, ఇది పార్టీల క్లస్టరింగ్ కోసం అందించదు. అటువంటి వ్యవస్థను అమలు చేసిన అనేక మంది క్లయింట్లు కుదింపు ప్రణాళిక ఫలితాల గురించి ఫిర్యాదు చేశారు. ఉదాహరణకు, తరచుగా ఆచరణలో కుదింపు సమయంలో క్రింది పరిస్థితి ఏర్పడింది: 100 pcs. మిగిలిన వస్తువులను ఒక సెల్ నుండి మరొక సెల్‌కు తరలించడానికి ప్రణాళిక చేయబడింది, ఇక్కడ 1 ముక్క ఉంది. వస్తువులు, సమయ వినియోగం యొక్క కోణం నుండి దీనికి విరుద్ధంగా చేయడం సరైనది అయినప్పటికీ.

అలాగే, కణాలలో మిగిలిన వస్తువులను కుదించే కార్యాచరణ అనేక విదేశీ దేశాలలో ప్రకటించబడింది. WMS-వ్యవస్థలు, కానీ, దురదృష్టవశాత్తూ, అల్గారిథమ్‌ల ప్రభావంపై మాకు నిజమైన ఫీడ్‌బ్యాక్ లేదు (ఇది వాణిజ్య రహస్యం), వాటి లాజిక్ (ప్రొప్రైటరీ క్లోజ్డ్ సోర్స్ సాఫ్ట్‌వేర్) లోతు గురించి చాలా తక్కువ ఆలోచన, కాబట్టి మేము తీర్పు చెప్పలేము.

సమస్య యొక్క గణిత నమూనా కోసం శోధించండి

సమస్యను పరిష్కరించడానికి అధిక-నాణ్యత అల్గారిథమ్‌లను రూపొందించడానికి, ఈ సమస్యను గణితశాస్త్రంలో స్పష్టంగా రూపొందించడం మొదట అవసరం, అదే మేము చేస్తాము.

చాలా కణాలు ఉన్నాయి WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1), ఇది కొన్ని వస్తువుల అవశేషాలను కలిగి ఉంటుంది. కింది వాటిలో, మేము అటువంటి కణాలను దాత కణాలు అని పిలుస్తాము. సూచిస్తాం WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1) సెల్‌లోని వస్తువుల పరిమాణం WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1)$.

ఒక బ్యాచ్ యొక్క ఒక ఉత్పత్తి లేదా అనేక బ్యాచ్‌లు మునుపు క్లస్టర్‌లో కలిపి ఉన్నాయని చెప్పడం ముఖ్యం (చదవండి: మునుపటి వ్యాసం), ఇది వస్తువుల నిల్వ మరియు నిల్వ యొక్క ప్రత్యేకతల కారణంగా ఉంటుంది. విభిన్న ఉత్పత్తులు లేదా విభిన్న బ్యాచ్ క్లస్టర్‌లు వాటి స్వంత ప్రత్యేక కుదింపు విధానాన్ని అమలు చేయాలి.

చాలా కణాలు ఉన్నాయి WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1), దాత కణాల నుండి అవశేషాలను సంభావ్యంగా ఉంచవచ్చు. మేము అటువంటి కణాలను కంటైనర్ కణాలు అని పిలుస్తాము. ఇవి గిడ్డంగిలోని ఉచిత సెల్‌లు లేదా వివిధ రకాల దాత కణాలు కావచ్చు WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1). ఎల్లప్పుడూ పుష్కలంగా WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1) అనేది ఉపసమితి WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1).

ప్రతి సెల్ కోసం WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1) అనేక నుండి WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1) సామర్థ్య పరిమితులు సెట్ చేయబడ్డాయి WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1), dm3లో కొలుస్తారు. ఒక dm3 అనేది 10 సెం.మీ వైపులా ఉన్న క్యూబ్. గిడ్డంగిలో నిల్వ చేయబడిన ఉత్పత్తులు చాలా పెద్దవి, కాబట్టి ఈ సందర్భంలో ఇటువంటి విచక్షణ చాలా సరిపోతుంది.

తక్కువ దూరాల మాతృక ఇవ్వబడింది WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1) ప్రతి జత కణాల మధ్య మీటర్లలో WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1)పేరు WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1) и WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1) సెట్లకు చెందినవి WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1) и WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1) వరుసగా.

సూచిస్తాం WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1) సెల్ నుండి వస్తువులను తరలించే "ఖర్చులు"WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1) సెల్ కు WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1). సూచిస్తాం WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1) కంటైనర్ ఎంచుకోవడానికి "ఖర్చులు" WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1) ఇతర కణాల నుండి అవశేషాలను దానిలోకి తరలించడానికి. ఎంత ఖచ్చితంగా మరియు ఏ యూనిట్ల కొలతలలో విలువలు లెక్కించబడతాయి WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1) и WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1) మేము మరింత పరిశీలిస్తాము (ఇన్‌పుట్ డేటాను సిద్ధం చేసే విభాగాన్ని చూడండి), ప్రస్తుతానికి అటువంటి విలువలు విలువలకు నేరుగా అనులోమానుపాతంలో ఉంటాయని చెప్పడం సరిపోతుంది. WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1) и WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1) వరుసగా.

ద్వారా సూచిస్తాము WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1) సెల్ నుండి మిగిలి ఉంటే విలువ 1ని తీసుకునే వేరియబుల్ WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1) కంటైనర్‌కు తరలించబడింది WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1), మరియు 0 లేకపోతే. ద్వారా సూచిస్తాము WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1) కంటైనర్ అయితే 1 విలువను తీసుకునే వేరియబుల్ WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1) మిగిలిన వస్తువులు మరియు 0 లేకపోతే.

విధి క్రింది విధంగా పేర్కొనబడింది: మీరు చాలా కంటైనర్లను కనుగొనాలి WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1) అందువలన పనితీరును తగ్గించడానికి కంటైనర్ కణాలకు దాత కణాలను "అటాచ్" చేయండి

WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1)

పరిమితుల క్రింద

WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1)

మొత్తంగా, సమస్యకు పరిష్కారాన్ని లెక్కించేటప్పుడు, మేము దీని కోసం ప్రయత్నిస్తాము:

  • ముందుగా, నిల్వ సామర్థ్యాన్ని ఆదా చేయడానికి;
  • రెండవది, స్టోర్ కీపర్ల సమయాన్ని ఆదా చేయడానికి.

చివరి పరిమితి అంటే మనం ఎన్నుకోని కంటైనర్‌లోకి వస్తువులను తరలించలేము మరియు దానిని ఎంచుకోవడానికి "ఖర్చులు" చెల్లించలేదు. కణాల నుండి కంటైనర్‌కు తరలించబడిన వస్తువుల పరిమాణం కంటైనర్ సామర్థ్యాన్ని మించకూడదని కూడా ఈ పరిమితి అర్థం. సమస్యను పరిష్కరించడం ద్వారా మేము కంటైనర్ల సమితిని సూచిస్తాము WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1) మరియు దాత కణాలను కంటైనర్‌లకు జోడించే పద్ధతులు.

ఆప్టిమైజేషన్ సమస్య యొక్క ఈ సూత్రీకరణ కొత్తది కాదు మరియు గత శతాబ్దపు 80వ దశకం ప్రారంభంలో చాలా మంది గణిత శాస్త్రజ్ఞులచే అధ్యయనం చేయబడింది. విదేశీ సాహిత్యంలో తగిన గణిత నమూనాతో 2 ఆప్టిమైజేషన్ సమస్యలు ఉన్నాయి: సింగిల్-సోర్స్ కెపాసిటేటెడ్ ఫెసిలిటీ లొకేషన్ సమస్య и మల్టీ-సోర్స్ కెపాసిటేటెడ్ ఫెసిలిటీ లొకేషన్ సమస్య (మేము టాస్క్‌లలో తేడాల గురించి తరువాత మాట్లాడుతాము). గణిత సాహిత్యంలో, అటువంటి రెండు ఆప్టిమైజేషన్ సమస్యల సూత్రీకరణ భూమిపై ఉన్న సంస్థల స్థానం పరంగా రూపొందించబడిందని చెప్పడం విలువ, అందుకే దీనికి “ఫెసిలిటీ లొకేషన్” అని పేరు వచ్చింది. చాలా వరకు, ఇది సంప్రదాయానికి నివాళి, ఎందుకంటే మొదటిసారిగా ఇటువంటి కాంబినేటోరియల్ సమస్యలను పరిష్కరించాల్సిన అవసరం లాజిస్టిక్స్ రంగం నుండి వచ్చింది, ఎక్కువగా గత శతాబ్దం 50 లలో సైనిక-పారిశ్రామిక రంగం నుండి. సంస్థ స్థానం పరంగా, అటువంటి పనులు క్రింది విధంగా రూపొందించబడ్డాయి:

  • ఉత్పాదక సంస్థలను గుర్తించడం సాధ్యమయ్యే పరిమిత సంఖ్యలో నగరాలు ఉన్నాయి (ఇకపై తయారీ నగరాలుగా సూచిస్తారు). ప్రతి ఉత్పాదక నగరానికి, దానిలో ఒక సంస్థను తెరవడానికి అయ్యే ఖర్చులు పేర్కొనబడ్డాయి, అలాగే దానిలో తెరవబడిన సంస్థ యొక్క ఉత్పత్తి సామర్థ్యంపై పరిమితి.
  • క్లయింట్లు వాస్తవానికి ఉన్న నగరాల యొక్క పరిమిత సెట్ ఉంది (ఇకపై క్లయింట్ నగరాలుగా సూచిస్తారు). అటువంటి ప్రతి క్లయింట్ నగరానికి, ఉత్పత్తుల కోసం డిమాండ్ పరిమాణం పేర్కొనబడింది. సరళత కోసం, ఎంటర్‌ప్రైజెస్ ద్వారా ఉత్పత్తి చేయబడిన మరియు కస్టమర్‌లు వినియోగించే ఒకే ఒక ఉత్పత్తి మాత్రమే ఉందని మేము ఊహిస్తాము.
  • సిటీ-తయారీదారు మరియు సిటీ-క్లయింట్ యొక్క ప్రతి జత కోసం, తయారీదారు నుండి క్లయింట్‌కు అవసరమైన ఉత్పత్తులను పంపిణీ చేయడానికి రవాణా ఖర్చుల విలువ పేర్కొనబడింది.

మీరు ఏ నగరాల్లో వ్యాపారాలను ప్రారంభించాలో మరియు అటువంటి వ్యాపారాలకు క్లయింట్‌లను ఎలా జోడించాలో కనుగొనాలి:

  • ఎంటర్‌ప్రైజెస్ ప్రారంభానికి అయ్యే మొత్తం ఖర్చులు మరియు రవాణా ఖర్చులు తక్కువగా ఉన్నాయి;
  • ఏదైనా ఓపెన్ ఎంటర్‌ప్రైజ్‌కు కేటాయించిన కస్టమర్‌ల డిమాండ్ పరిమాణం ఆ సంస్థ ఉత్పత్తి సామర్థ్యాన్ని మించలేదు.

ఇప్పుడు ఈ రెండు శాస్త్రీయ సమస్యలలో ఉన్న ఏకైక వ్యత్యాసాన్ని పేర్కొనడం విలువ:

  • సింగిల్-సోర్స్ కెపాసిటేటెడ్ ఫెసిలిటీ లొకేషన్ సమస్య - క్లయింట్ ఒకే ఒక ఓపెన్ ఫెసిలిటీ నుండి సరఫరా చేయబడుతుంది;
  • మల్టీ-సోర్స్ కెపాసిటేటెడ్ ఫెసిలిటీ లొకేషన్ సమస్య - క్లయింట్‌కు ఒకే సమయంలో అనేక ఓపెన్ సౌకర్యాల నుండి సరఫరా చేయవచ్చు.

రెండు సమస్యల మధ్య ఇటువంటి వ్యత్యాసం మొదటి చూపులో చాలా తక్కువగా ఉంటుంది, అయితే, వాస్తవానికి, అటువంటి సమస్యల యొక్క పూర్తిగా భిన్నమైన మిశ్రమ నిర్మాణానికి దారితీస్తుంది మరియు పర్యవసానంగా, వాటిని పరిష్కరించడానికి పూర్తిగా భిన్నమైన అల్గోరిథంలకు దారితీస్తుంది. పనుల మధ్య తేడాలు క్రింది చిత్రంలో ప్రదర్శించబడ్డాయి.

WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1)
Fig.3. ఎ) మల్టీ-సోర్స్ కెపాసిటేటెడ్ ఫెసిలిటీ లొకేషన్ సమస్య

WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1)
Fig.3. బి) సింగిల్-సోర్స్ కెపాసిటేటెడ్ ఫెసిలిటీ లొకేషన్ సమస్య

రెండు పనులు WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1)-కష్టం, అంటే, ఇన్‌పుట్ డేటా పరిమాణంలో టైం బహుపదిలో అటువంటి సమస్యను పరిష్కరించే ఖచ్చితమైన అల్గారిథమ్ లేదు. సరళమైన మాటలలో, సమస్యను పరిష్కరించడానికి అన్ని ఖచ్చితమైన అల్గారిథమ్‌లు ఘాతాంక సమయంలో పని చేస్తాయి, అయినప్పటికీ ఎంపికల పూర్తి శోధన కంటే వేగంగా ఉండవచ్చు. పని నుండి WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1)-కష్టం, అప్పుడు మేము ఉజ్జాయింపు హ్యూరిస్టిక్‌లను మాత్రమే పరిశీలిస్తాము, అంటే, సరైనదానికి చాలా దగ్గరగా ఉన్న పరిష్కారాలను స్థిరంగా లెక్కించే మరియు చాలా త్వరగా పని చేసే అల్గారిథమ్‌లు. మీరు అలాంటి పనిపై ఆసక్తి కలిగి ఉంటే, మీరు ఇక్కడ రష్యన్ భాషలో మంచి అవలోకనాన్ని కనుగొనవచ్చు.

కణాలలో వస్తువుల యొక్క సరైన కుదింపు సమస్య యొక్క పరిభాషకు మేము మారినట్లయితే, అప్పుడు:

  • క్లయింట్ నగరాలు దాత కణాలు WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1) మిగిలిన వస్తువులతో,
  • తయారీ నగరాలు - కంటైనర్ సెల్స్ WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1), దీనిలో ఇతర కణాల నుండి మిగిలిన వాటిని ఉంచాలి,
  • రవాణా ఖర్చులు - సమయం ఖర్చులు WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1) దాత సెల్ నుండి వస్తువుల పరిమాణాన్ని తరలించడానికి స్టోర్ కీపర్ WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1) ఒక కంటైనర్ సెల్ లోకి WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1);
  • వ్యాపారాన్ని తెరవడానికి అయ్యే ఖర్చులు - కంటైనర్‌ను ఎంచుకునే ఖర్చులు WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1), కంటైనర్ సెల్ వాల్యూమ్‌కు సమానం WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1), ఉచిత వాల్యూమ్‌లను సేవ్ చేయడానికి నిర్దిష్ట గుణకం ద్వారా గుణించబడుతుంది (గుణకం యొక్క విలువ ఎల్లప్పుడూ > 1) (ఇన్‌పుట్ డేటాను సిద్ధం చేసే విభాగాన్ని చూడండి).

సమస్య యొక్క ప్రసిద్ధ శాస్త్రీయ పరిష్కారాలతో సారూప్యత డ్రా అయిన తర్వాత, సొల్యూషన్ అల్గోరిథం ఆర్కిటెక్చర్ ఎంపికపై ఆధారపడిన ఒక ముఖ్యమైన ప్రశ్నకు సమాధానం ఇవ్వడం అవసరం: దాత సెల్ నుండి మిగిలిన వాటిని తరలించడం ఒక కంటైనర్‌కు మాత్రమే సాధ్యమవుతుంది. (సింగిల్-సోర్స్), లేదా మిగిలిన వాటిని అనేక కంటైనర్ సెల్‌లలోకి (మల్టీ-సోర్స్) తరలించడం సాధ్యమేనా?

ఆచరణలో సమస్య యొక్క రెండు సూత్రీకరణలు జరుగుతాయని గమనించాలి. అటువంటి ప్రతి సెట్టింగ్‌కు సంబంధించిన అన్ని లాభాలు మరియు నష్టాలను మేము క్రింద అందిస్తున్నాము:

సమస్య వేరియంట్ఎంపిక యొక్క ప్రోస్ఎంపిక యొక్క ప్రతికూలతలు
ఒకే-మూలంసమస్య యొక్క ఈ రూపాంతరాన్ని ఉపయోగించి గణించబడిన వస్తువుల కదలిక కార్యకలాపాలు:
  • స్టోర్ కీపర్‌పై తక్కువ నియంత్రణ అవసరం (ఒక సెల్ నుండి ప్రతిదీ తీసుకున్నారు, ప్రతిదీ మరొక కంటైనర్ సెల్‌లో ఉంచండి), ఇది ప్రమాదాలను తొలగిస్తుంది: “సెల్ ఇన్” కార్యకలాపాలను నిర్వహిస్తున్నప్పుడు వస్తువుల పరిమాణాన్ని తిరిగి లెక్కించేటప్పుడు లోపాలు; TSDలోకి తిరిగి లెక్కించిన పరిమాణాన్ని నమోదు చేయడంలో లోపాలు;
  • “పుట్ ఇన్ సెల్” కార్యకలాపాలను నిర్వహించేటప్పుడు వస్తువుల సంఖ్యను తిరిగి లెక్కించడానికి మరియు వాటిని TSDలో నమోదు చేయడానికి సమయం అవసరం లేదు.
బహుళ మూలం"సింగిల్-సోర్స్" ఎంపికను ఉపయోగించి లెక్కించిన కంప్రెషన్‌లతో పోలిస్తే, సమస్య యొక్క ఈ సంస్కరణను ఉపయోగించి లెక్కించిన కుదింపులు సాధారణంగా 10-15% ఎక్కువ కాంపాక్ట్‌గా ఉంటాయి. కానీ దాత కణాలలో చిన్న అవశేషాల సంఖ్య, కాంపాక్ట్‌నెస్‌లో చిన్న తేడా ఉంటుందని కూడా మేము గమనించాము.సమస్య యొక్క ఈ రూపాంతరాన్ని ఉపయోగించి గణించబడిన వస్తువుల కదలిక కార్యకలాపాలు:
  • స్టోర్ కీపర్‌పై ఎక్కువ నియంత్రణ అవసరం (ప్రతి ప్రణాళికాబద్ధమైన కంటైనర్ సెల్‌లలోకి తరలించిన వస్తువుల పరిమాణాన్ని తిరిగి లెక్కించడం అవసరం), ఇది వస్తువుల పరిమాణాన్ని తిరిగి లెక్కించేటప్పుడు మరియు పని చేసేటప్పుడు TSDలోకి డేటాను నమోదు చేసేటప్పుడు లోపాల ప్రమాదాన్ని తొలగిస్తుంది. సెల్” ఆపరేషన్లలో ఉంచండి
  • "పుట్ ఇన్ సెల్" కార్యకలాపాలను నిర్వహిస్తున్నప్పుడు వస్తువుల సంఖ్యను తిరిగి లెక్కించడానికి సమయం పడుతుంది
  • “పుట్ ఇన్ సెల్” ఆపరేషన్‌లు చేస్తున్నప్పుడు “ఓవర్ హెడ్” (ఆపండి, ప్యాలెట్‌కి వెళ్లండి, కంటైనర్ సెల్ యొక్క బార్‌కోడ్‌ను స్కాన్ చేయండి) కోసం సమయం పడుతుంది.
  • కొన్నిసార్లు అల్గోరిథం ఇప్పటికే తగిన ఉత్పత్తిని కలిగి ఉన్న పెద్ద సంఖ్యలో కంటైనర్ కణాల మధ్య దాదాపు పూర్తి ప్యాలెట్ పరిమాణాన్ని "విభజిస్తుంది", ఇది కస్టమర్ దృష్టికోణం నుండి ఆమోదయోగ్యం కాదు.

టేబుల్ 1. సింగిల్-సోర్స్ మరియు మల్టీ-సోర్స్ ఎంపికల యొక్క లాభాలు మరియు నష్టాలు.

సింగిల్-సోర్స్ ఎంపికకు ఎక్కువ ప్రయోజనాలు ఉన్నందున, దాత కణాలలో చిన్న అవశేషాల సంఖ్య, సమస్య యొక్క రెండు వేరియంట్‌ల కోసం లెక్కించిన కంప్రెషన్ కాంపాక్ట్‌నెస్ డిగ్రీలో చిన్న వ్యత్యాసం అనే వాస్తవాన్ని కూడా పరిగణనలోకి తీసుకుంటే, మా ఎంపిక పడిపోయింది. సింగిల్-సోర్స్ ఎంపిక. మూలం.

మల్టీ-సోర్స్ ఎంపికకు పరిష్కారం కూడా జరుగుతుందని చెప్పడం విలువ. దీన్ని పరిష్కరించడానికి పెద్ద సంఖ్యలో సమర్థవంతమైన అల్గోరిథంలు ఉన్నాయి, వీటిలో ఎక్కువ భాగం అనేక రవాణా సమస్యలను పరిష్కరించడానికి వస్తాయి. సమర్థవంతమైన అల్గారిథమ్‌లు మాత్రమే కాకుండా, సొగసైనవి కూడా ఉన్నాయి, ఉదాహరణకు, ఇక్కడ.

ఇన్‌పుట్ డేటాను సిద్ధం చేస్తోంది

సమస్యను పరిష్కరించడానికి అల్గారిథమ్‌ను విశ్లేషించడం మరియు అభివృద్ధి చేయడం ప్రారంభించే ముందు, ఏ డేటాను మరియు ఏ రూపంలో ఇన్‌పుట్‌గా ఫీడ్ చేయాలో నిర్ణయించడం అవసరం. దాత కణాలలో మిగిలిన వస్తువుల పరిమాణం మరియు కంటైనర్ కణాల సామర్థ్యంతో ఎటువంటి సమస్యలు లేవు, ఎందుకంటే ఇది చిన్నవిషయం - అటువంటి పరిమాణాలు m3లో కొలుస్తారు, కానీ కంటైనర్ సెల్ మరియు కదిలే వ్యయ మాతృకను ఉపయోగించే ఖర్చులతో, ప్రతిదీ కాదు. చాలా సులభం!

ముందుగా లెక్క చూద్దాం వస్తువులను తరలించే ఖర్చులు దాత సెల్ నుండి కంటైనర్ సెల్ వరకు. అన్నింటిలో మొదటిది, కదలిక ఖర్చులను మేము ఏ కొలత యూనిట్లలో లెక్కించాలో నిర్ణయించుకోవాలి. రెండు అత్యంత స్పష్టమైన ఎంపికలు మీటర్లు మరియు సెకన్లు. ఇది "స్వచ్ఛమైన" మీటర్లలో ప్రయాణ ఖర్చులను లెక్కించేందుకు అర్ధమే లేదు. దీన్ని ఒక ఉదాహరణతో చూపిద్దాం. సెల్ లెట్ WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1) మొదటి శ్రేణిలో ఉన్న సెల్ WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1) 30 మీటర్లు తొలగించబడింది మరియు రెండవ శ్రేణిలో ఉంది:

  • నుండి తరలిస్తున్నారు WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1) в WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1) నుండి తరలించడం కంటే ఖరీదైనది WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1) в WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1), రెండవ శ్రేణి నుండి (నేల నుండి 1,5-2 మీటర్లు) క్రిందికి వెళ్లడం రెండవ స్థాయికి వెళ్లడం కంటే సులభం, అయినప్పటికీ దూరం ఒకే విధంగా ఉంటుంది;
  • 1 పిసిని తరలించండి. సెల్ నుండి వస్తువులు WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1) в WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1) 10 ముక్కలను తరలించడం కంటే ఇది సులభం అవుతుంది. అదే ఉత్పత్తి, అయితే దూరం ఒకే విధంగా ఉంటుంది.

కదిలే ఖర్చులను సెకన్లలో పరిగణించడం మంచిది, ఎందుకంటే ఇది శ్రేణులలోని వ్యత్యాసం మరియు తరలించిన వస్తువుల పరిమాణంలో తేడా రెండింటినీ పరిగణనలోకి తీసుకోవడానికి మిమ్మల్ని అనుమతిస్తుంది. సెకన్లలో కదలిక ఖర్చును లెక్కించడానికి, మేము కదలిక ఆపరేషన్‌ను ప్రాథమిక భాగాలుగా విడదీయాలి మరియు ప్రతి ప్రాథమిక భాగం యొక్క అమలు కోసం సమయ కొలతలను తీసుకోవాలి.

సెల్ నుండి లెట్ WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1) కదులుతుంది WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1) PC. కంటైనర్లో వస్తువులు WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1)... ఉండని WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1) - గిడ్డంగిలో ఒక కార్మికుడి కదలిక సగటు వేగం, m/secలో కొలుస్తారు. వీలు WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1) и WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1) – ఒక-సమయం కార్యకలాపాల సగటు వేగం 4 dm3 (కార్యకలాపాలను నిర్వహిస్తున్నప్పుడు ఒక ఉద్యోగి గిడ్డంగిలో ఒక సమయంలో తీసుకునే సగటు వాల్యూమ్)కి సమానమైన వస్తువుల వాల్యూమ్ కోసం వరుసగా తీసుకుంటుంది మరియు ఉంచబడుతుంది. వీలు WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1) и WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1) టేక్ మరియు పుట్ కార్యకలాపాలు వరుసగా నిర్వహించబడే కణాల ఎత్తు. ఉదాహరణకు, మొదటి శ్రేణి (అంతస్తు) యొక్క సగటు ఎత్తు 1 మీ, రెండవ శ్రేణి 2 మీ, మొదలైనవి. అప్పుడు తరలింపు చర్యను పూర్తి చేయడానికి మొత్తం సమయాన్ని లెక్కించడానికి సూత్రం WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1) తరువాత:

WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1)

టేబుల్ 2 ప్రతి ప్రాథమిక ఆపరేషన్ యొక్క అమలు సమయంపై గణాంకాలను చూపుతుంది, నిల్వ చేసిన వస్తువుల ప్రత్యేకతలను పరిగణనలోకి తీసుకుని, గిడ్డంగి ఉద్యోగులు సేకరించారు.

ఆపరేషన్ పేరుహోదాసగటు విలువ
గిడ్డంగి చుట్టూ తిరిగే కార్మికుని సగటు వేగంWMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1)1,5 మీ/సె
ఉంచడానికి ఒక ఆపరేషన్ యొక్క సగటు వేగం (4 dm3 ఉత్పత్తి వాల్యూమ్ కోసం)WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1)2,4 సె

టేబుల్ 2. గిడ్డంగి కార్యకలాపాలను పూర్తి చేయడానికి సగటు సమయం

తరలింపు ఖర్చులను లెక్కించే పద్ధతిని మేము నిర్ణయించాము. ఇప్పుడు మనం ఎలా లెక్కించాలో గుర్తించాలి కంటైనర్ సెల్ ఎంచుకోవడానికి అయ్యే ఖర్చులు. కదిలే ఖర్చుల కంటే ఇక్కడ ప్రతిదీ చాలా క్లిష్టంగా ఉంటుంది, ఎందుకంటే:

  • మొదటిది, ఖర్చులు నేరుగా సెల్ వాల్యూమ్‌పై ఆధారపడి ఉండాలి - దాత కణాల నుండి బదిలీ చేయబడిన అవశేషాల యొక్క అదే వాల్యూమ్ పెద్ద కంటైనర్‌లో కంటే చిన్న వాల్యూమ్‌లోని కంటైనర్‌లో ఉంచబడుతుంది, అలాంటి వాల్యూమ్ రెండు కంటైనర్‌లలో పూర్తిగా సరిపోతుంది. అందువల్ల, కంటైనర్‌లను ఎంచుకునే మొత్తం ఖర్చులను తగ్గించడం ద్వారా, సెల్‌లలో వస్తువులను ఉంచడం యొక్క తదుపరి కార్యకలాపాలను నిర్వహించడానికి ఎంపిక ప్రాంతంలో "కొరత" ఉచిత నిల్వ సామర్థ్యాన్ని ఆదా చేయడానికి మేము కృషి చేస్తాము. మూర్తి 4 అవశేషాలను పెద్ద మరియు చిన్న కంటైనర్‌లలోకి బదిలీ చేయడానికి ఎంపికలను మరియు తదుపరి గిడ్డంగి కార్యకలాపాలలో ఈ బదిలీ ఎంపికల యొక్క పరిణామాలను ప్రదర్శిస్తుంది.
  • రెండవది, అసలు సమస్యను పరిష్కరించడంలో మనం ఖచ్చితంగా మొత్తం ఖర్చులను తగ్గించాలి, మరియు ఇది కదిలే ఖర్చులు మరియు కంటైనర్‌లను ఎంచుకునే ఖర్చులు రెండింటి మొత్తం, అప్పుడు క్యూబిక్ మీటర్లలోని సెల్ వాల్యూమ్‌లను ఏదో ఒకవిధంగా సెకన్లతో లింక్ చేయాలి, చిన్నవిషయానికి దూరంగా ఉన్నది.

WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1)
అన్నం. 4. మిగిలిపోయిన వస్తువులను వేర్వేరు సామర్థ్యాల కంటైనర్‌లలోకి తరలించడానికి ఎంపికలు.

తదుపరి వస్తువులను ఉంచే రెండవ దశలో కంటైనర్‌లోకి సరిపోని మిగిలిపోయిన వస్తువుల పరిమాణాన్ని మూర్తి 4 ఎరుపు రంగులో చూపుతుంది.

సమస్యకు లెక్కించిన పరిష్కారాల కోసం కింది అవసరాలను తరలించడానికి ఖర్చుల సెకన్లతో కంటైనర్‌ను ఎంచుకోవడం కోసం ఖర్చుల క్యూబిక్ మీటర్లను లింక్ చేయడంలో ఇది సహాయపడుతుంది:

  • ఇది ఉత్పత్తిని కలిగి ఉన్న మొత్తం కంటైనర్ బిన్‌ల సంఖ్యను తగ్గించినట్లయితే, ఏదైనా సందర్భంలో దాత బిన్ నుండి నిల్వలను కంటైనర్ బిన్‌కు తరలించడం అవసరం.
  • కంటైనర్ల వాల్యూమ్ మరియు తరలించడానికి గడిపిన సమయం మధ్య సమతుల్యతను కొనసాగించడం అవసరం: ఉదాహరణకు, మునుపటి పరిష్కారంతో పోలిస్తే సమస్యకు కొత్త పరిష్కారంలో ఉంటే, వాల్యూమ్‌లో లాభం పెద్దది, కానీ సమయ నష్టం తక్కువగా ఉంటుంది. , అప్పుడు కొత్త ఎంపికను ఎంచుకోవడం అవసరం.

చివరి అవసరంతో ప్రారంభిద్దాం. "బ్యాలెన్స్" అనే అస్పష్టమైన పదాన్ని స్పష్టం చేయడానికి, మేము ఈ క్రింది వాటిని తెలుసుకోవడానికి గిడ్డంగి ఉద్యోగుల సర్వేని నిర్వహించాము. వాల్యూమ్ యొక్క కంటైనర్ సెల్ ఉండనివ్వండి WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1), దాత కణాల నుండి మిగిలిన వస్తువుల కదలిక కేటాయించబడుతుంది మరియు అటువంటి కదలిక యొక్క మొత్తం సమయం దీనికి సమానం WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1). ఒకే దాత కణాల నుండి ఒకే మొత్తంలో వస్తువులను ఇతర కంటైనర్లలో ఉంచడానికి అనేక ప్రత్యామ్నాయ ఎంపికలు ఉండనివ్వండి, ఇక్కడ ప్రతి ప్లేస్‌మెంట్ దాని స్వంత అంచనాలను కలిగి ఉంటుంది. WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1)పేరు WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1)<WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1) и WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1)పేరు WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1)>WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1).

ప్రశ్న ఎదురవుతుంది: వాల్యూమ్‌లో కనీస లాభం ఏమిటి WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1) ఆమోదయోగ్యమైనది, ఇచ్చిన సమయ నష్టం విలువ కోసం WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1)? ఒక ఉదాహరణతో వివరిస్తాము. ప్రారంభంలో, అవశేషాలను 1000 dm3 (1 m3) వాల్యూమ్‌తో కంటైనర్‌లో ఉంచాలి మరియు బదిలీ సమయం 70 సెకన్లు. 500 dm3 వాల్యూమ్ మరియు 130 సెకన్ల సమయంతో అవశేషాలను మరొక కంటైనర్‌లో ఉంచడానికి ఒక ఎంపిక ఉంది. ప్రశ్న: 60 dm500 ఉచిత వాల్యూమ్‌ను ఆదా చేయడం కోసం స్టోర్‌కీపర్ యొక్క అదనపు 3 సెకన్ల సమయాన్ని వస్తువులను తరలించడానికి మేము సిద్ధంగా ఉన్నారా? గిడ్డంగి ఉద్యోగుల సర్వే ఫలితాల ఆధారంగా, కింది రేఖాచిత్రం సంకలనం చేయబడింది.

WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1)
అన్నం. 5. ఆపరేషన్ సమయంలో వ్యత్యాసం పెరుగుదలపై కనీస అనుమతించదగిన వాల్యూమ్ పొదుపు ఆధారపడటం యొక్క రేఖాచిత్రం

అంటే, అదనపు సమయం ఖర్చులు 40 సెకన్లు అయితే, వాల్యూమ్‌లో లాభం కనీసం 500 dm3 ఉన్నప్పుడు మాత్రమే మేము వాటిని ఖర్చు చేయడానికి సిద్ధంగా ఉన్నాము. డిపెండెన్స్‌లో కొంచెం నాన్‌లీనియారిటీ ఉన్నప్పటికీ, తదుపరి గణనల సరళత కోసం, పరిమాణాల మధ్య ఆధారపడటం సరళంగా ఉంటుందని మరియు అసమానత ద్వారా వివరించబడిందని మేము అనుకుంటాము.

WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1)

దిగువ చిత్రంలో, కంటైనర్లలో వస్తువులను ఉంచే క్రింది పద్ధతులను మేము పరిశీలిస్తాము.

WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1)
అన్నం. 6. ఎంపిక (a): 2 కంటైనర్లు, మొత్తం వాల్యూమ్ 400 dm3, మొత్తం సమయం 150 సెకన్లు.
WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1)
అన్నం. 6. ఎంపిక (బి): 2 కంటైనర్లు, మొత్తం వాల్యూమ్ 600 dm3, మొత్తం సమయం 190 సెకన్లు.
WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1)
అన్నం. 6. ఎంపిక (c): 1 కంటైనర్, మొత్తం వాల్యూమ్ 400 dm3, మొత్తం సమయం 200 సెకన్లు.

అసమానత కలిగి ఉన్నందున కంటైనర్‌లను ఎంచుకోవడానికి ఎంపిక (a) అసలు ఎంపిక కంటే ఎక్కువ ప్రాధాన్యతనిస్తుంది: (800-400)/10>=150-120, ఇది 40 >= 30ని సూచిస్తుంది. ఎంపిక (బి) అసలు కంటే తక్కువ ప్రాధాన్యతనిస్తుంది ఎంపిక , అసమానత కలిగి ఉండదు కాబట్టి: (800-600)/10>=190-150 ఇది 20 >= 40ని సూచిస్తుంది. కానీ ఎంపిక (సి) అటువంటి తర్కానికి సరిపోదు! ఈ ఎంపికను మరింత వివరంగా పరిశీలిద్దాం. ఒక వైపు, అసమానత (800-400)/10>=200-120, అంటే అసమానత 40 >= 80 పట్టుకోదు, ఇది వాల్యూమ్‌లో లాభం సమయానికి అంత పెద్ద నష్టానికి విలువైనది కాదని సూచిస్తుంది.

కానీ మరోవైపు, ఈ ఎంపికలో (సి) మేము మొత్తం ఆక్రమిత వాల్యూమ్‌ను తగ్గించడమే కాకుండా, ఆక్రమిత కణాల సంఖ్యను కూడా తగ్గిస్తాము, ఇది పైన జాబితా చేయబడిన సమస్యలకు గణించదగిన పరిష్కారాల కోసం రెండు ముఖ్యమైన అవసరాలలో మొదటిది. సహజంగానే, ఈ అవసరం నెరవేరడం ప్రారంభించడానికి, అసమానత యొక్క ఎడమ వైపుకు కొంత సానుకూల స్థిరాంకం జోడించడం అవసరం. WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1), మరియు కంటైనర్ల సంఖ్య తగ్గినప్పుడు మాత్రమే అటువంటి స్థిరాంకం జోడించాల్సిన అవసరం ఉంది. అది మీకు గుర్తు చేద్దాం WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1) కంటైనర్ ఉన్నప్పుడు 1కి సమానమైన వేరియబుల్ WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1) ఎంచుకోబడింది, మరియు 0 ఉన్నప్పుడు కంటైనర్ WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1) ఎంపిక కాలేదు. మనం సూచిస్తాం WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1) - ప్రారంభ ద్రావణంలో అనేక కంటైనర్లు మరియు WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1) - కొత్త ద్రావణంలో చాలా కంటైనర్లు. సాధారణంగా, కొత్త అసమానత ఇలా కనిపిస్తుంది:

WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1)

పైన ఉన్న అసమానతను మార్చడం, మేము పొందుతాము

WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1)

దీని ఆధారంగా, మొత్తం ఖర్చును లెక్కించడానికి మాకు ఒక ఫార్ములా ఉంది WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1) సమస్యకు కొంత పరిష్కారం:

WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1)

అయితే ఇప్పుడు ప్రశ్న తలెత్తుతోంది: అటువంటి స్థిరాంకం ఏ విలువను కలిగి ఉండాలి? WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1)? సహజంగానే, దాని విలువ తగినంత పెద్దదిగా ఉండాలి, తద్వారా సమస్యకు పరిష్కారాల కోసం మొదటి అవసరం ఎల్లప్పుడూ నెరవేరుతుంది. మీరు, వాస్తవానికి, 103 లేదా 106కి సమానమైన స్థిరాంకం యొక్క విలువను తీసుకోవచ్చు, కానీ నేను అలాంటి "మ్యాజిక్ సంఖ్యలను" నివారించాలనుకుంటున్నాను. మేము గిడ్డంగి కార్యకలాపాలను నిర్వహించే ప్రత్యేకతలను పరిశీలిస్తే, అటువంటి స్థిరాంకం యొక్క విలువ యొక్క అనేక బాగా స్థాపించబడిన సంఖ్యా అంచనాలను మేము లెక్కించవచ్చు.

ఉండని WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1) – ఒక జోన్ ABC యొక్క గిడ్డంగి కణాల మధ్య గరిష్ట దూరం, మా విషయంలో 100 మీ.కి సమానం WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1) - గిడ్డంగిలోని కంటైనర్ సెల్ యొక్క గరిష్ట వాల్యూమ్, మా విషయంలో 1000 dm3కి సమానం.

విలువను లెక్కించడానికి మొదటి మార్గం WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1). మొదటి శ్రేణిలో 2 కంటైనర్లు ఉన్న పరిస్థితిని పరిశీలిద్దాం, అందులో వస్తువులు ఇప్పటికే భౌతికంగా ఉన్నాయి, అంటే, అవి స్వయంగా దాత కణాలు, మరియు వస్తువులను అదే కణాలకు తరలించడానికి అయ్యే ఖర్చు సహజంగా 0కి సమానం. స్థిరాంకం కోసం అటువంటి విలువను కనుగొనడం అవసరం WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1), దీనిలో ఎల్లప్పుడూ మిగిలిపోయిన వస్తువులను కంటైనర్ 1 నుండి కంటైనర్ 2కి తరలించడం ప్రయోజనకరంగా ఉంటుంది. విలువలను ప్రత్యామ్నాయం చేయడం WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1) и WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1) పైన ఇచ్చిన అసమానతలో మనం పొందుతాము:

WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1)

దాని నుండి అది అనుసరిస్తుంది

WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1)

ప్రాథమిక కార్యకలాపాలను నిర్వహించడానికి సగటు సమయం యొక్క విలువలను పైన ఉన్న సూత్రంలోకి మార్చడం

WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1)

విలువను లెక్కించడానికి రెండవ మార్గం WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1). అక్కడ ఉన్న పరిస్థితిని పరిశీలిద్దాం WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1) వస్తువులను కంటైనర్‌లోకి తరలించడానికి ప్రణాళిక చేయబడిన దాత కణాలు 1. మనం సూచిస్తాము WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1) - దాత సెల్ నుండి దూరం WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1) కంటైనర్‌కు 1. కంటైనర్ 2 కూడా ఉంది, ఇది ఇప్పటికే వస్తువులను కలిగి ఉంది మరియు దాని పరిమాణం మిగిలిన అన్నింటిని ఉంచడానికి మిమ్మల్ని అనుమతిస్తుంది WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1) కణాలు. సరళత కోసం, దాత కణాల నుండి కంటైనర్‌లకు తరలించిన వస్తువుల పరిమాణం ఒకేలా మరియు సమానంగా ఉంటుందని మేము ఊహిస్తాము WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1). స్థిరాంకం యొక్క అటువంటి విలువను కనుగొనడం అవసరం WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1), దీనిలో అన్ని మిగిలిన వాటి ప్లేస్‌మెంట్ WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1) కంటెయినర్ 2లోని కణాలను వేర్వేరు కంటైనర్లలో ఉంచడం కంటే ఎల్లప్పుడూ లాభదాయకంగా ఉంటుంది:

WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1)

మనం పొందే అసమానతను మార్చడం

WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1)

పరిమాణం యొక్క విలువను "బలపరచడానికి" WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1), అని అనుకుందాం WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1) = 0. గిడ్డంగి బ్యాలెన్స్‌లను కుదించే ప్రక్రియలో సాధారణంగా ఉండే కణాల సగటు సంఖ్య 10. తెలిసిన పరిమాణాల విలువలను భర్తీ చేయడం ద్వారా, మనకు స్థిరమైన క్రింది విలువ ఉంటుంది

WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1)

మేము ప్రతి ఎంపిక కోసం లెక్కించిన అతిపెద్ద విలువను తీసుకుంటాము, ఇది పరిమాణం యొక్క విలువ అవుతుంది WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1) ఇచ్చిన గిడ్డంగి పారామితుల కోసం. ఇప్పుడు, సంపూర్ణత కోసం, మొత్తం ఖర్చులను లెక్కించడానికి సూత్రాన్ని వ్రాస్దాం WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1) కొన్ని ఆచరణీయ పరిష్కారం కోసం WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1):

WMS కోసం వివిక్త గణితం: కణాలలో వస్తువులను కుదించడానికి అల్గోరిథం (భాగం 1)

ఇప్పుడు, అన్ని తరువాత విపరీతమైన ప్రయత్నాలు ఇన్‌పుట్ డేటాను మార్చడం ద్వారా, ఇన్‌పుట్ డేటా మొత్తం కావలసిన ఫారమ్‌కి మార్చబడిందని మరియు ఆప్టిమైజేషన్ అల్గారిథమ్‌లో ఉపయోగించడానికి సిద్ధంగా ఉందని మేము చెప్పగలం.

తీర్మానం

ప్రాక్టీస్ చూపినట్లుగా, అల్గారిథమ్ కోసం ఇన్‌పుట్ డేటాను సిద్ధం చేసే మరియు మార్చే దశ యొక్క సంక్లిష్టత మరియు ప్రాముఖ్యత తరచుగా తక్కువగా అంచనా వేయబడుతుంది. ఈ కథనంలో, అధిక-నాణ్యత మరియు తెలివిగా తయారు చేయబడిన ఇన్‌పుట్ డేటా మాత్రమే అల్గోరిథం ద్వారా లెక్కించబడిన నిర్ణయాలను క్లయింట్‌కు నిజంగా విలువైనదిగా చేయగలదని చూపించడానికి మేము ప్రత్యేకంగా ఈ దశపై చాలా శ్రద్ధ చూపాము. అవును, ఫార్ములాల యొక్క అనేక ఉత్పన్నాలు ఉన్నాయి, కానీ మేము కటాకు ముందే మిమ్మల్ని హెచ్చరించాము :)

తదుపరి కథనంలో మేము చివరకు 2 మునుపటి ప్రచురణలు దేని కోసం ఉద్దేశించబడ్డామో - వివిక్త ఆప్టిమైజేషన్ అల్గారిథమ్‌కు వస్తాము.

కథనాన్ని సిద్ధం చేసింది
రోమన్ షాంగిన్, ప్రాజెక్ట్స్ డిపార్ట్‌మెంట్ ప్రోగ్రామర్,
మొదటి బిట్ కంపెనీ, చెల్యాబిన్స్క్


మూలం: www.habr.com

DDoS రక్షణ, VPS VDS సర్వర్‌లతో సైట్‌ల కోసం నమ్మకమైన హోస్టింగ్‌ను కొనుగోలు చేయండి 🔥 DDoS రక్షణతో కూడిన నమ్మకమైన వెబ్‌సైట్ హోస్టింగ్, VPS VDS సర్వర్‌లను కొనండి | ProHoster