Witam,
Wpadłem na ciekawy pomysł jak sobie ułatwić życie. Mianowicie co dzień w pracy muszę uzupełniać co raz to dłuższą listę wyjazdów samochodów do odbiorców. Dostawy robimy wciąż na stałą godzinę więc na podstawie odległości można wyliczyć jak długo trzeba jechać aby dojechać do celu o godzinie 6:00. Wniosek - godziny dla danych punktów są niezmienne.
Stąd też przy wykorzystaniu funkcji WYSZUKAJ.PIONOWO utworzyłem listę wszystkich możliwych celów do których chce jechać oraz godzinę o której powinien wyjechać środek transportu aby dojechać na 6:00. Wszystko działa bardzo sprawnie, ale...
...i tu zaczyna się mój problem. Załadunki rozpisane co 15 minut (01:00, 01:15, 01:30...itd). Czasem po przypisaniu godzin okazuje się że np na 1:15 jest 7 załadunków a na 1:30 tylko 1. Chodzi mi o wymyślenie rozwiązania, które przeniesie kilka załadunków z wspomnianej 1:15 na 1:30 tak żeby obciążenie załadunkowego było podobne. Czyli przesunięcie 3 załadunków na 1:30 tak aby i na 1:15 i na 1:30 były po 4 załadunki.
Próbowałem ugryźć to dodatkiem - Solver, jednak skutek był kiepski nawet jeżeli przeliczanie godzin ująć w inny sposób to nadal ustawianie warunków dla np 100 tras byłoby zadaniem na tydzień klikania.
Myślę o czymś w stylu makra VBA, wykorzystującego jakąś pętle w celu 'wygładzenia' różnorodności tych załadunków. Niestety nie mam pojęcia jak się za to zabrać.
W załączniku plik pokazujący w praktyce o co mi chodzi.
Opis pliku:
Arkusz1 komórki z kolumny A oznaczone na żółto zwykle są po prostu godziną formuła ma pokazać sposób w jaki uzyskuję godziny załadunków z arkusza wyjazdy.
W kolumnie C zmiany jakie należałoby zrobić aby 'wygładzić' zmienność.
w arkuszu 'Wynik' przeniesione załadunki z 6 wyjazdów o 0:30 i 0:45 w taki sposób aby ilość załadunków na jednostkę czasu (kwadrans) nie przekraczała 4. Z reguły tą ilość ustalamy na maksymalnie 5 załadunków na kwadrans.
W obu arkuszach H14:K21 - tabelka pokazująca ilości załadunków w jednostce czasu.
Makro do określenia jak i czy zmienić godzinę załadunku musiałoby brać wartości spośród kolumn C i D z arkusza 'Wyjazdy'. I tak jeżeli w kolumnie B optymalny załadunek to 0:45 a w kolumnie C najwcześniejszy możliwy to 0:15 i w kolumnie D najpóźniejszy możliwy to 1:15, to makro szukając zmiany zmieniałoby na jedną z - 0:15, 0:30, 0:45, 1:00, 1:15 - najlepiej możliwie najbliżej optymalnej godziny czyli 0:45.
Będę wdzięczny za jakiekolwiek pomysły na to jak ten problem rozwiązać.
Wpadłem na ciekawy pomysł jak sobie ułatwić życie. Mianowicie co dzień w pracy muszę uzupełniać co raz to dłuższą listę wyjazdów samochodów do odbiorców. Dostawy robimy wciąż na stałą godzinę więc na podstawie odległości można wyliczyć jak długo trzeba jechać aby dojechać do celu o godzinie 6:00. Wniosek - godziny dla danych punktów są niezmienne.
Stąd też przy wykorzystaniu funkcji WYSZUKAJ.PIONOWO utworzyłem listę wszystkich możliwych celów do których chce jechać oraz godzinę o której powinien wyjechać środek transportu aby dojechać na 6:00. Wszystko działa bardzo sprawnie, ale...
...i tu zaczyna się mój problem. Załadunki rozpisane co 15 minut (01:00, 01:15, 01:30...itd). Czasem po przypisaniu godzin okazuje się że np na 1:15 jest 7 załadunków a na 1:30 tylko 1. Chodzi mi o wymyślenie rozwiązania, które przeniesie kilka załadunków z wspomnianej 1:15 na 1:30 tak żeby obciążenie załadunkowego było podobne. Czyli przesunięcie 3 załadunków na 1:30 tak aby i na 1:15 i na 1:30 były po 4 załadunki.
Próbowałem ugryźć to dodatkiem - Solver, jednak skutek był kiepski nawet jeżeli przeliczanie godzin ująć w inny sposób to nadal ustawianie warunków dla np 100 tras byłoby zadaniem na tydzień klikania.
Myślę o czymś w stylu makra VBA, wykorzystującego jakąś pętle w celu 'wygładzenia' różnorodności tych załadunków. Niestety nie mam pojęcia jak się za to zabrać.
W załączniku plik pokazujący w praktyce o co mi chodzi.
Opis pliku:
Arkusz1 komórki z kolumny A oznaczone na żółto zwykle są po prostu godziną formuła ma pokazać sposób w jaki uzyskuję godziny załadunków z arkusza wyjazdy.
W kolumnie C zmiany jakie należałoby zrobić aby 'wygładzić' zmienność.
w arkuszu 'Wynik' przeniesione załadunki z 6 wyjazdów o 0:30 i 0:45 w taki sposób aby ilość załadunków na jednostkę czasu (kwadrans) nie przekraczała 4. Z reguły tą ilość ustalamy na maksymalnie 5 załadunków na kwadrans.
W obu arkuszach H14:K21 - tabelka pokazująca ilości załadunków w jednostce czasu.
Makro do określenia jak i czy zmienić godzinę załadunku musiałoby brać wartości spośród kolumn C i D z arkusza 'Wyjazdy'. I tak jeżeli w kolumnie B optymalny załadunek to 0:45 a w kolumnie C najwcześniejszy możliwy to 0:15 i w kolumnie D najpóźniejszy możliwy to 1:15, to makro szukając zmiany zmieniałoby na jedną z - 0:15, 0:30, 0:45, 1:00, 1:15 - najlepiej możliwie najbliżej optymalnej godziny czyli 0:45.
Będę wdzięczny za jakiekolwiek pomysły na to jak ten problem rozwiązać.