• Nie Znaleziono Wyników

W niniejszej pracy przedstawiono istotę problemu planowania dostaw wyrobów alkoholowych na obszarze Unii Europejskiej. Zaproponowano oryginalną i kompletną procedurę rozwiązania, zbudowano aplikację funkcjonującą zgodnie z tą procedurą, a także przetestowano ją, a wyniki obliczeń porównano z osiąganymi przez doświadczonego planistę pracującego dla jednego z największych importerów wyrobów alkoholowych w Polsce.

Autor uważa, że aplikacja funkcjonuje prawidłowo, a osiągane rezultaty są satysfakcjonujące, co potwierdza tezę pracy, iż istnieje możliwość zbudowania efektywnego systemu komputerowego wspomagającego planowanie dostaw wyrobów alkoholowych na obszarze Unii Europejskiej, który oparty jest o metody optymalizacyjne i uwzględnia interesy wszystkich uczestników procesu.

Aby możliwe było osiągnięcie tego celu należało:

• przeprowadzić studium literatury w dziedzinie optymalizacji,

• skonstruować model matematyczny problemu,

• wybrać odpowiednią metodę i narzędzia obliczeniowe,

• zbudować i przetestować aplikację opartą o zaproponowany model.

Cały problem został podzielony na kilka podproblemów, które były rozwiązywane etapowo, przy czym wyniki poszczególnych etapów mogły na siebie wzajemnie wpływać.

Zaprezentowane funkcje celu, mimo że w większości przypadków miały formę liniową lub nieskomplikowaną formę nieliniową, umożliwiały optymalizację prowadzącą do znalezienia jednego lub kilku bardzo zbliżonych do siebie rozwiązań całego problemu.

Rezultaty otrzymane w wyniku testów były osiągalne w racjonalnym czasie, zwykle kilku-kilkunastu minut, który był krótszy niż w przypadku standardowego procesu planowania. Aplikacja działa stabilnie, a otrzymywane wyniki są powtarzalne, w przeciwieństwie do tych uzyskiwanych przez planistów przy użyciu macierzy DRP, gdy rezultat w dużej mierze zależy od doświadczenia i potencjału intelektualnego osoby przygotowującej plan. Wartości poszczególnych kryteriów w każdym z przypadków były lepsze o kilka-kilkanaście procent

od tych otrzymywanych bez użycia aplikacji, co w zależności od skali biznesu może się przełożyć na istotne oszczędności i stabilność działalności operacyjnej przedsiębiorstw.

Tabela 6.1. Porównanie aplikacji zbudowanej przez autora z oprogramowaniem wykorzystywanym przez Kompanię Piwowarską S.A. Źródło: Opracowanie własne. rodzaj oprogramowania Microsoft Office Excel Microsoft Office Excel

zastosowane podejście macierz DRP optymalizacja wieloetapowa

liczba uwzględnianych kryteriów 1 5

czas obliczeń ok. 30 minut 1-25 minut

Pełne zastosowanie aplikacji, mimo kompleksowości jej działania, nie pozwala na wyeliminowanie czynnika ludzkiego z procesu planowania. Planista nadal odpowiada za prawidłowy dobór parametrów, analizę i kontrolę poprawności rozwiązania, mając możliwość ręcznej ingerencji w otrzymywane rezultaty na każdym z etapów poszukiwania rozwiązania.

Autor nie twierdzi, że aplikacja utworzona na potrzeby pracy jest idealna, a uzyskane rozwiązania są zawsze najlepsze z możliwych. Ze względu na to, że aplikacja składa się z kilku modułów możliwe jest usprawnianie rozwiązania na jego poszczególnych etapach. Intencją autora było pokazanie, że możliwe jest zbudowanie aplikacji, która będzie potrafiła znajdować rozwiązania co najmniej tak samo dobre jak te, uzyskiwane w dotychczasowy sposób przez planistę, a także w taki sposób, aby ich otrzymywanie było efektywne czasowo i wykorzystywało jedynie ogólnodostępne oprogramowanie. Ponadto, zastosowanie aplikacji pozwala w znacznym stopniu minimalizować powstawanie błędów oraz eliminować otrzymywanie gorszych rozwiązań wynikających z braku doświadczenia osoby przygotowującej plan dostaw.

Dalsze prace powinny się skupić na faktycznym wdrożeniu aplikacji w przedsiębiorstwie, długotrwałym i gruntownym przetestowaniu w rzeczywistych warunkach biznesowych, a także rewizji i ewentualnej korekcie modelu i samej aplikacji.

Możliwe usprawnienia dotyczyć mogą również interfejsu, narzędzi wspierających analizę otrzymywanych rozwiązań, przystosowanie aplikacji do problemów o większej skali (z większą liczbą SKU), a także zmian horyzontu czasowego, dla którego przygotowywany jest plan.

Bibliografia

[1] Altinkemer K., Gavish B.: Parallel savings-based heuristics for the delivery problem.

Operations Research 39, 1991, s. 456–469.

[2] Amorim P., Belo M., Toledo F., Almeder C., Almada-Lobo B.: Lot sizing versus batching in the production and distribution planning of perishable goods. International Journal of Production Economics. doi:10.1016/j.ijpe.2013.07.001, accepted manuscript, 2013.

[3] Amorim P., Günther H.-O., Almada-Lobo B.: Multi-objective integrated production and distribution planning of perishable products. International Journal of Production Economics, 138 (1), 2012, s. 89–101.

[4] Arbib C., Pacciarelli D., Smriglio S.: A three-dimensional matching model for perishable production scheduling. Discrete Applied Mathematics 92, 1999, s. 1–15.

[5] Balinski M.L., Quandt R.E.: On an integer program for a delivery problem. Operations Research 12, 1964, s. 300–304.

[6] Bellmore M.:, Nemhauser G.: The traveling salesman problem: a survey. Operations Research 16, 1968, s. 528–558.

[7] Cerny V.: A thermodynamical approach to the travelling salesman problem: an efficient simulation algorithm. Journal of Optimisation Theory and Application 45, 1985, s. 41–51.

[8] Cha B.C., Moon I.K., Park J.H.: The joint replenishment and delivery scheduling of the one-warehouse, n-retailer system. Transportation Research E 44, 2008, s. 720–730.

[9] Chen B., Chung-Yee L.: Logistics scheduling with batching and transportation. European Journal of Operational Research 189, 2008, s. 871–876.

[10] Chen C.L., Bulfin R.L.: Complexity results for multi-machine multi-criteria scheduling problems. Proceedings of the Third Industrial Engineering Research Conference, 1994, s. 662–667.

[11] Chen, H.K., Hsueh, C.F., Chang, M.S.: Production scheduling and vehicle routing with time windows for perishable food products. Computers & Operations Research 36, 2009, s. 2311–2319.

[12] Cheng E., Wang X.: Machine scheduling with job class setup and delivery considerations.

Computers & Operations Research 37, 2010, s. 1123–1128.

[13] Ciesielski M.: Instrumenty zarządzania łańcuchami dostaw. Polskie Wydawnictwo Ekonomiczne, Warszawa, 2009.

[14] Clarke G., Wright J.W.: Scheduling of vehicles from a central depot to a number of delivery points. Operations Research 12, 1964, s. 569–581.

[15] Coyle J.J., Bardi, E.J., Langley C.J.: Zarządzanie Logistyczne. Polskie Wydawnictwo Ekonomiczne, Warszawa, 2010.

[16] Dileepan P., Sen T.: Bicriterion statis scheduling research for a single machine. OMEGA 16, 1988, s. 53–62.

[17] Eksioglu, S.D., Mingzhou, J.: Computational Science and Its Applications. ICCSA, Lecture Notes in Computer Science 3982, Springer, Berlin, Heidelberg, 2006.

[18] Enterprise Europe Network: Artykuł w dziale „Handel zagraniczny”, materiał dostępny na stronie: http://www.een.org.pl/index.php/handel-zagraniczny---spis/pdf/3710/page/7/arti-cles/incoterms-2010-miedzynarodowe-reguly-handlu.html, 2.09.2015.

[19] Fertsch M. Majchrzak K., Gołębiowski T., Iwicka E.: Terminologia logistyczna – pojęcia i ich definicje. Instytut Logistyki i Magazynowania, Poznań, 1996.

[20] Fischetti M., Toth P., Vigo D.: A branch and bound algorithm for the capacitated vehicle routing problem on directed graphs. Operations research 42, 1994, s. 846–859.

[21] Fry T.D., Armstrong R.D., Lewis H.: A framework for single machine multiple objective sequencing research. OMEGA 17, 1989, s. 595–607.

[22] Garcia J.M., Lozano S.: Production and delivery scheduling problem with time windows.

Computers & Industrial Engineering 48, 2005, s. 733–742.

[23] Gavish B., Srikanth K.: An optimal solution methond for largescale multiple travelling salesman problems. Operations Research 34, 1986, s. 698–717.

[24] Gendreau M., Laporte G., Seguin R.: A tabu search heuristic for the vehicle routing problem with stochastic demands and customers. Operations Research 44, 1996, s. 469–484.

[25] Gołembska E., Szymczak M.: Logistyka międzynarodowa. Wydawnictwo Akademii Ekonomicznej w Poznaniu, Poznań, 2000.

[26] Grajek M., et al.: MCDM Approach to the Excise Goods Daily Delivery Scheduling Problem. Case Study: Alcohol Products Delivery Scheduling under Intra-community Trade Regulations. Procedia – Social and Behavioral Sciences 111, 5 Luty 2014, s. 751–760.

[27] Grajek M., Żak J.: Konstrukcja i Testowanie Modelu Matematycznego dla Problemu Harmonogramowania Dostaw Wyrobów Alkoholowych na Obszarze Unii Europejskiej.

Logistyka, nr 2, 2012, cd 2, s. 609–622.

[28] Grajek M., Zmuda-Trzebiatowski, P.: A heuristic approach to the daily delivery scheduling problem. case study: alcohol products delivery scheduling within intra-community trade legislation. LogForum, Issue 2/2014, article 5, marzec, 2014.

[29] Grajek M.: Harmonogramowanie Dostaw Wyrobów Alkoholowych na Obszarze Unii Europejskiej – Rozpoznanie Problemu (cz.1). Logistyka, nr 5, 2011, s. 31–32.

[30] Grajek M.: Harmonogramowanie Dostaw Wyrobów Alkoholowych na Obszarze Unii Europejskiej – Rozpoznanie Problemu (cz.2). Logistyka, nr 6, 2011, s. 38–39.

[31] Grajek M.: Harmonogramowanie Dostaw Wyrobów Alkoholowych na Obszarze Unii Europejskiej – Rozpoznanie Problemu (cz.3). Logistyka, nr 1, 2012, s. 37–38.

[32] Hanczar P.: Modele decyzyjne w koordynacji strumieni podaży produktów w łańcuchu dostaw. Wydawnictwo Uniwersytetu Ekonomicznego we Wrocławiu, 2013, s. 201-205.

[33] Günther, H.O., Seiler, T.: Operative transportation planning in consumer goods supply chains. Flexible Services and Manufacturing 21, 2009, s. 51–74.

[34] Guoqing W., Cheng E.: Parallel machine scheduling with batch delivery costs.

International Jurnal of Production Economics 68, 2000, s. 177–183.

[35] Gupta J., Henning K. Werner F.: Local search heuristics for two-stage flow shop problems with secondary criterion. Computer & Operations Research 29, 2002, s. 123–149.

[36] Gupta J.N.D., Henning K., Werner F.: Local Search Heuristic for Two-Stage Flow Shop

Problems with Secondary Criterion. Otto von Guericke Universität, Magdeburg 1999.

[37] Hahm, J., Yano, A.C.: Economic lot and delivery scheduling problem: the common cycle case. IIE Transactions 27 (2), 1995, s. 113–125.

[38] Hahm, J., Yano, A.C.: Economic lot and delivery scheduling problem: models for nested schedules. IIE Transactions 27 (2), 1995, s. 126–139.

[39] Hahm, J., Yano, A.C.: Economic lot and delivery scheduling problem: powers of two policies. Transportation Science 29 (3), 1995, s. 222–241.

[40] Hahm, J., Yano, C.A.: The economic lot and delivery scheduling problem: the single item case. International Journal of Production Economics 28 (2), 1992, s. 235–252.

[41] Hall N., Potts Ch.: The Coordination of Scheduling and Batch Deliveries. Annals of Operations Research 135, 2005, s. 41–64.

[42] Herka W.: Harmonogramowanie procesów ciągłych w warunkach niepewności jako wielokryterialny problem decyzyjny. Wydawnictwo Politechniki Częstochowskiej, Informatyka Teoretyczna i Stosowana, Nr. 5, R. 4, 2004, s. 87–102.

[43] Hillier F.S., Lieberman G.J.: Introduction to Operations Research, 8th Edition. Stanford University, 2005.

[44] Hoogeveen H.: Single-machine bicriteria scheduling. Ph.D. dissertation, Center of Mathematics and Computer Science, Amsterdam, The Netherlands 1992.

[45] Hsu, C.I., Hung, S., Li, H.C.: Vehicle routing problem with time-windows for perishable food delivery. Journal of Food Engineering 80, 2007, s. 465–475.

[46] http://www.solver.com, 2017.

[47] Jensen, M.T., Khouja, M.: An optimal polynomial time algorithm for the common cycle economic lot and delivery scheduling problem. European Journal of Operational Research, 156 (2), 2004, s. 305–311.

[48] Jia T., Liu Y., Wang N.: Optimal production-delivery policy for a vendor-buyers integrated system considering postponed simultaneous delivery. Computers & Industrial Engineering 99, 2016, s. 1–15.

[49] Khouja, M.: Synchronization in supply chains: implications for design and management.

Journal of the Operational Research Society 54 (9), 2003, s. 984–994.

[50] Khouja, M.: The economic lot and delivery scheduling problem: common cycle, rework, and variable production rate. IIE Transactions 32 (8), 2000, s. 715–725.

[51] Kim, T., Hong, Y., Chang, S.Y.: Joint economic procurement-production- delivery policy for multiple items in a single-manufacturer, multiple-retailer system. International Journal of Production Economics 103 (1), 2006, s. 199–208.

[52] Kirkpatrick S., Gelatt C.D., Vecchi M.P.: Optimisation by simulated annealing. Science School of Business Stanford University, 2000.

[56] Kovalyow M. Cheng E.: Single Supplier Scheduling for Multiple Deliveries. Annals of Operations Research 107, 2001, s. 51–63.

[57] Ladier A., Alpan G.: Cross-docking operations: Current research versus industry practice.

Omega 62, 2016, s. 145-162.

[58] Lenstra J.K., Rinnooy Kan A.H.G.: Complexity of scheduling under precedence constraints. Operations Research 26, 1978, s. 22–35.

[59] Lixin T., Hua G.: The coordination of transportation and batching scheduling. Applied Mathematical Modelling 33, 2009, s. 3854–3862.

[60] Lütke Entrup M., Günther, H.O., VanBeek P., Grunow M., Seiler. T.: Mixed-integer linear programming approaches to shelf-life-integrated planning and scheduling in yoghurt production. International Journal of Production Research 43, 2005, s. 5071–5100.

[61] Lütke Entrup M.: Advanced planning in fresh food industries. Physica, Heidelberg, 2005.

[62] Maghsoudlou H., Kahag M., Niaki S.: Bi-objective optimization of a three-echelon multi-server supply-chain problem in congested systems: Modeling and solution. Computers

& Industrial Engineering 99, 2016, s 41–62.

[63] Marinelli F., Nenni M.E., Sforza A.: Capacitated lot sizing and scheduling with parallel machines and shared buffers: a case study in a packaging company. Annals of Operations Research 150, 2007, s. 177–192.

[64] Mateen A., Chatterjee A.K., Mitra S.: VMI for single-vendor multi-retailer supply chains under stochastic demand. Computer & Industrial Engineering 79, 2015, s. 95–102.

[65] Mesquita M., et al.: A decomposition approach for the integrated vehicle-crew-roster problem with days-off pattern. European Journal of Operational Research 229, 2013, s. 318–331.

[66] Ministerstwo finansów RP: EMCS PL – Wyjaśnienia, materiał dostępny na stronie http://www.finanse.mf.gov.pl/systemy-informatyczne/emcs/, 2017.

[67] Ministerstwo finansów RP: Podatek akcyzowy, materiał dostępny na stronie http://mf.gov.pl, 8.11.2009.

[68] Ministerstwo finansów RP: Podatki, Informacje ogólne o systemie EMCS, materiał dostępny na stronie http://www.mf.gov.pl, 2012.

[69] Murphy P.R. Jr., Wood D.F.: Contemporary Logistics. Pearson Prentice Hall, 2008.

[70] Nagar A., Haddock J., Heragu S.: Multiple and bicriteria scheduling: a literature survey.

European Journal of Operational Research 81, 1995, s. 88–104.

[71] Neider J.: Transport międzynarodowy. Polskie Wydawnictwo Ekonomiczne, Warszawa, 2008.

[72] Neumann, K., Schwindt C., Trautmann N.: Advanced production scheduling for batch plants in process industries. OR Spectrum 24, 2002, s. 251–279.

[73] Niemczyk A.: Zapasy i magazynowanie. Instytut Logistyki i Magazynowania, Poznań, 2008.

[74] Noon C.E., Bean J.C.: A lagrangian-based approach for the asymmetric generalized traveling salesman problem. Operations Research 39, 1991, s. 623–532.

[75] Obwieszczenie Ministra Finansów z dnia 27 listopada 2013 w sprawie ogłoszenia jednolitego tekstu rozporządzenia Ministra Finansów w sprawie kontroli niektórych wyrobów akcyzowych (Dz. U. 2014, Warszawa, poz. 349, z dnia 19.03.2014r.).

[76] Osman H., Demirli K.: Economic lot and delivery scheduling problem for multi-stage supply chains. International Journal of Production Economics, 136 (2), s. 175–286, 2012.

[77] Osvald A., Stirn L.: A vehicle routing algorithm for the distribution of fresh vegetables and similar perishable food. Journal of Food Engineering 85, 2008, s. 285–295.

[78] Pahl, J., Voß, S.: Advanced Manufacturing and Sustainable Logistics. Lecture Notes in Business Information Processing 46, Springer, Berlin, Heidelberg, 2010.

[79] Państwowa Agencja Rozwiązywania Problemów Alkoholowych: Dane GUS dotyczące wielkości importu napojów alkoholowych do Polski, materiał dostępny na stronie http://www.parpa.pl, 28.05.2010.

[80] Peterson B, Hoeve W., Debo L.: Bosch/Siemens Optimizes Inbound Logistics. Tepper School of Business Working Paper, 2009.

[81] Pierwszy Serwis Międzynarodowy Transportu i Spedycji: Wykaz dni świątecznych powodujących ograniczenia w ruchu pojazdów ciężarowych, materiał dostępny na stronie http://www.psm.pl/wykazy/dnisw.html, 8.11.2009.

[82] PN-EN 14943:2006 (U) Usługi transportowe – Logistyka – Słownik terminów. Polski Komitet Normalizacyjny, Warszawa, 2006.

[83] Rong A., Akkerman R., Grunow M.: An optimization approach for managing fresh food quality throughout the supply chain. International Journal of Production Economics 131, 2011, s. 421–429.

[84] Rossier Y., Troyon M., Liebling T.M.: Probabilistic exchange algorithms and Euclidean travelling salesman problems. OR Spektrum 8, 1986, s. 151–164.

[85] Roy B.: Decision-Aid and Decision Making. European Journal of Operational Research 45, No. 1993, s. 184–203.

[86] Rutkowski K.: Najlepsze praktyki w zarządzaniu łańcuchem dostaw. Szkoła Główna Handlowa w Warszawie – Oficyna Wydawnicza, Warszawa, 2008.

[87] Rutkowski K.: Skuteczna broń konkurencyjna: łańcuch dostaw sterowany popytem konsumentów. Harvard Business Review Polska 44, październik 2006.

[88] Śliwczyński B.: Planowanie logistyczne. Instytut Logistyki i Magazynowania, Poznań, 2008.

[89] Sprawozdanie z wykonania ustawy z dnia 26 października 1982 r. o wychowaniu w trzeźwości i przeciwdziałaniu alkoholizmowi, materiał dostępny na stronie http://bip.kprm.gov.pl/download/75/13642/RM-24-43-14Sprawozdaniezwykonaniausta wyzdnia26pazdziernika1982.docx.

[90] Starkowski D., Bieńczak K., Zwierzycki W.: Samochodowy transport krajowy i międzynarodowy, SYSTHERM D. Gazińska S. J., Poznań, 2007.

[91] Steiner G., Zhang R.: Revised Delivery-Time Quotation in Scheduling with Tardiness Penalties. Operations Research 59 (6), 2011, s. 1504–1511.

[92] Stenger A.J.: Distribution Resources Planning. W: The Distribution Handbook. The Free Press, New York, 1994.

[93] Strona domowa Kompanii Piwowarskiej S.A., materiał dostępny na stronie

http://www.kp.pl/nasze_marki oraz http://www.kp.pl/historia, 2017.

[94] Strona internetowa firmy CEDC: Dane dotyczące portfela marek i pozycji na rynku, materiał dostępny na stronie http://www.cedc.com, 28.05.2012.

[95] Tang J., Yung K.L., Kaku I.,Yang J.: The scheduling of deliveries in a production -distribution system with multiple buyers. Annals of Operations Research 161, 2008, s. 5–23.

[96] Tang L., Gong, H.: The coordination of transportation and batching scheduling. Applied Mathematical Modelling 33 (10), s. 3854-3862, 2009.

[97] Terminologia logistyczna – pojęcia i ich definicje. Instytut Logistyki i Magazynowania, Poznań, 1996.

[98] Thompson P.M., Psaraftis H.N.: Cyclic transfer algorithms for multi-vehicle routing and scheduling problem. Operations research 43, 1995, s. 1049–1057.

[99] Torabi S.A., Fatemi Ghomi S.M.T., Karimi B.: A hybrid genetic algorithm for the finite horizon economic lot and delivery scheduling in supply chains. European Journal of Operational Research 173, 2006, s. 173–189.

[100] Ustawa o podatku akcyzowym (Dz. U. Nr 29, poz. 257, z dnia 23.01.2004,z późn. zm.).

[101] Ustawa o podatku od towarów i usług (Dz. U. Nr 54, poz. 535, z dnia 11.03.2004, z późn. zm.).

[102] Ustawa o rachunkowości (Dz. U. 2016, poz. 1047, z dnia 29.09.1994 z późn. zm.).

[103] Vincke P.: Multicriteria Decision-Aid. John Wiley & Sons, Chichester, 1992.

[104] Walkenbach J.: Excel 2013 PL. Biblia. Helion, Gliwice, 2013.

[105] Wang H., Xue D.: An intelligent zone-based delivery scheduling approach. Computers in Industry 48, 2002, s. 109–125.

[106] Xue D., Wang H., Norrie D.H.: A fuzzy mathematics based optimal delivery scheduling approach. Computers in Industry 45, 2001, s. 245–259.

[107] Zachariadis E., Nikolopoulou A., Repoussis P.: Moving products between location pairs:

Cross-docking versus direct shipping. European Journal of Operational research 256, 2017, s. 803–819.

[108] Zanoni S., Jaber M., Zavanella L.: Vendor manager inventory (VMI) with consignment considering learning and forgetting effects. International Journal of Production Economics 140, 2012, s. 721–730.

[109] Zhu H.: A two stage scheduling with transportation and batching. Information Processing Letters 112, 2012, s. 728–731.

[110] Zinder Ya.B., Shkurba V.V.: Scheduling theory. Encyclopaedia of Mathematics, Springer -Verlag, Berlin, Heidelberg, New York, 2001.

[111] Żak J. (red.): Metodyka Wielokryterialnego Wspomagania Decyzji w zastosowaniu do rozwiązań złożonych problemów decyzyjnych w transporcie drogowym. Projekty badawcze 51-702/1999 (etap I), 51-740/2000 (etap II), 51-781/2001 (etap III), Politechnika Poznańska, Instytut Maszyn Roboczych i Pojazdów Samochodowych, Poznań, 1999-2001.

[112] Żak J.: Wielokryterialne wspomaganie decyzji w transporcie drogowym. Wydawnictwo Politechniki Poznańskiej, Poznań, 2005.

Załącznik 1

Model globalny – zapis w aplikacji AIMMS

Model Main_KP {

Parameter maxrozladdunkow { IndexDomain: (j,t);

( 1, 1, 17 ) : 299.78, ( 1, 1, 18 ) : 307.94, ( 1, 1, 19 ) :

( 1, 3, 14 ) : 200.00, ( 1, 3, 15 ) : 200.00, ( 1, 3, 16 ) :

( 1, 5, 11 ) : 293.47, ( 1, 5, 12 ) : 290.97, ( 1, 5, 13 ) :

( 2, 2, 8 ) : 200.00, ( 2, 2, 9 ) : 200.00, ( 2, 2, 10 ) :

( 2, 4, 5 ) : 200.00, ( 2, 4, 6 ) : 200.00, ( 2, 4, 7 ) :

( 3, 1, 2 ) : 346.89, ( 3, 1, 3 ) : 343.02, ( 3, 1, 4 ) :

( 3, 2, 83 ) : 200.00, ( 3, 2, 84 ) : 200.00, ( 3, 2, 85 ) :

( 3, 4, 80 ) : 307.83, ( 3, 4, 81 ) : 307.83, ( 3, 4, 82 ) :

Constraint liczbazaladunkow { IndexDomain: (i,t);

Definition: sum(j, liczbakursow(i,j,t)) <= maxzaladunkow(i,t);

}

Constraint liczbarozladunkow { IndexDomain: (j,t);

Definition: sum(i, liczbakursow(i,j,t+transportczas(i,j))) <=

maxrozladdunkow(j,t);

}

Constraint wypwagapojazdu { IndexDomain: (i,j,t);

Definition: sum(k,liczbapalet(i,j,k,t) * uzyciewagi(k)) >=

ladownoscpoj * 0.993 * liczbakursow(i,j,t);

}

Constraint wyppowpojazdu { IndexDomain: (i,j,t);

Definition: sum(k,liczbapalet(i,j,k,t) * uzyciepowierz(k)) <=

powierzchniapoj * liczbakursow(i,j,t);

}

Constraint maxliczbadostawcons { IndexDomain: (j,t);

Definition: maxliczbadostaw - sum(i,liczbakursow(i,j,t)) >= 0;

}

MathematicalProgram zadanie { Objective: fcelu;

DeclarationSection Pomocnicze {

ElementParameter wybranaymagazyn {

Procedure MainInitialization { Body: {

popyt(j,3,t) := Normal(13.67,5.88);

Comment: "Add initialization statements here that do NOT require any library being initialized already.";

}

Procedure PostMainInitialization { Comment: {

"Add initialization statements here that require that the libraries are already initialized properly,

or add statements that require the Data Management module to be initialized."

} }

Procedure MainExecution { Body: {

solve zadanie;

} }

Procedure PreMainTermination { Body: {

return DataManagementExit();

}

Comment: {

"Add termination statements here that require all libraries to be still alive.

Return 1 if you allow the termination sequence to continue.

Return 0 if you want to cancel the termination sequence."

} }

Procedure MainTermination { Body: {

return 1;

}

Comment: {

"Add termination statements here that do not require all libraries to be still alive.

Return 1 to allow the termination sequence to continue.

Return 0 if you want to cancel the termination sequence.

It is recommended to only use the procedure PreMainTermination to cancel the termination sequence and let this procedure always return 1."

} } }

Załącznik 2

Skrypt VBA aplikacji wspomagającej planowanie zasobów dystrybucji wybranych produktów akcyzowych z importu

Sub Rozwiąż()

' Rozwiąż

Application.Run "Import_Solver.xlsm!Optymalizacja"

Calculate

Application.Run "Import_Solver.xlsm!Kompozycja"

Calculate

Application.Run "Import_Solver.xlsm!Lista_Zamówień"

Calculate

Application.Run "Import_Solver.xlsm!Rozrzut"

Calculate

End Sub

Sub Optymalizacja()

' Klawisz skrótu: Ctrl+a

Application.ScreenUpdating = False

' Okreslenie kryterium optymalizacji

If Range("K341").Value = 1 Then

Range("K343").Copy

Else

Range("K344").Copy

End If

Range("K342").Select

Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, SkipBlanks:=False, Transpose:=False

' Optymalizacja_wstepna_(niecalkowitoliczbowa)

Harmonogram.Select

Range("H30:O34,H36:O40") = "0"

Range("I160:P164").Copy Range("H36").Select

Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False

Range("I239:P239").Copy Range("I245").Select

Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False

SolverReset

SolverOk SetCell:="$K$342", MaxMinVal:=2, ValueOf:=0,

ByChange:="$H$30:$O$34", Engine:=2, EngineDesc:="Simplex LP"

SolverAdd CellRef:="$H$30:$O$34", Relation:=4, FormulaText:="całkowita"

SolverAdd CellRef:="$I$12:$P$12", Relation:=3, FormulaText:="$D$62"

SolverAdd CellRef:="$I$16:$P$16", Relation:=3, FormulaText:="$D$71"

SolverAdd CellRef:="$I$11:$P$11", Relation:=3, FormulaText:="$D$63"

SolverAdd CellRef:="$I$27:$P$27", Relation:=3, FormulaText:="$D$86"

SolverAdd CellRef:="$I$251:$P$251", Relation:=3, FormulaText:="$I$252:$P$252"

SolverAdd CellRef:="$I$22:$P$22", Relation:=3, FormulaText:="$D$78"

SolverAdd CellRef:="$I$26:$P$26", Relation:=3, FormulaText:="$D$87"

SolverAdd CellRef:="$I$251:$P$251", Relation:=1, FormulaText:="$I$245:$P$245"

SolverAdd CellRef:="$I$6:$P$6", Relation:=3, FormulaText:="$D$55"

SolverAdd CellRef:="$I$7:$P$7", Relation:=3, FormulaText:="$D$54"

SolverAdd CellRef:="$I$17:$P$17", Relation:=3, FormulaText:="$D$70"

SolverAdd CellRef:="$I$21:$P$21", Relation:=3, FormulaText:="$D$79"

SolverOptions MaxTime:=1200, Iterations:=0, Precision:=0.000001,

Convergence:=0.0001, StepThru:=False, Scaling:=True, AssumeNonNeg:=True, Derivatives:=1

SolverOptions PopulationSize:=100, RandomSeed:=0, MutationRate:=0.075, Multistart:=False, RequireBounds:=True, MaxSubproblems:=0,

MaxIntegerSols:=0, IntTolerance:=0.1, SolveWithout:=True, MaxTimeNoImp:=3600

SolverSolve UserFinish:=True SolverFinish KeepFinal:=1

Application.Calculation = xlAutomatic

' Optymalizacja_calkowitoliczbowa

Range("I279:P283").Copy Range("H36").Select

Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False

Range("I286:P286").Copy Range("I245").Select

Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False

SolverOk SetCell:="$K$342", MaxMinVal:=2, ValueOf:=0,

ByChange:="$H$30:$O$34", Engine:=2, EngineDesc:="Simplex LP"

SolverOptions MaxTime:=1200, Iterations:=0, Precision:=0.1, Convergence:=0.0001, StepThru:=False, Scaling:=True, AssumeNonNeg:=True, Derivatives:=1

SolverOptions PopulationSize:=100, RandomSeed:=0, MutationRate:=0.075, Multistart:=False, RequireBounds:=True, MaxSubproblems:=0,

MaxIntegerSols:=0, IntTolerance:=0.0001, SolveWithout:=False, MaxTimeNoImp:=3600

SolverSolve UserFinish:=True SolverFinish KeepFinal:=1

Application.Calculation = xlAutomatic

' Uaktualnienie liczby zamawianych palet aby spełnione zostały ograniczenia

Range("I335:P339").Copy Range("H30").Select

Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False

Range("D48").Select

End Sub

Sub Kompozycja()

' Kompozycja

' Optymalizacja dla tygodnia W=6

Kompozycja_1.Select

Range("D4:K23") = "0"

SolverReset

SolverOk SetCell:="$H$40", MaxMinVal:=2, ValueOf:=0,

ByChange:="$D$4:$D$23", Engine:=2, EngineDesc:="Simplex LP"

SolverOptions MaxTime:=120, Iterations:=0, Precision:=0.01,

Convergence:=0.000001, StepThru:=False, Scaling:=True, AssumeNonNeg:=True, Derivatives:=1

SolverOptions PopulationSize:=100, RandomSeed:=0, MutationRate:=0.075, Multistart:=False, RequireBounds:=True, MaxSubproblems:=0,

MaxIntegerSols:=500

SolverAdd CellRef:="$H$38", Relation:=2, FormulaText:="0"

SolverAdd CellRef:="$D$4:$D$23", Relation:=4, FormulaText:="całkowita"

SolverAdd CellRef:="$D$4:$D$23", Relation:=1, FormulaText:="$T$4:$T$23"

SolverAdd CellRef:="$H$27:$H$30", Relation:=1, FormulaText:="$Y$29"

SolverSolve UserFinish:=True, ShowRef:=False SolverFinish KeepFinal:=1

' Optymalizacja dla tygodnia W=7

SolverReset

SolverOk SetCell:="$J$40", MaxMinVal:=2, ValueOf:=0,

ByChange:="$E$4:$E$23", Engine:=2, EngineDesc:="Simplex LP"

SolverAdd CellRef:="$J$38", Relation:=2, FormulaText:="0"

SolverAdd CellRef:="$E$4:$E$23", Relation:=4, FormulaText:="całkowita"

SolverAdd CellRef:="$E$4:$E$23", Relation:=1, FormulaText:="$U$4:$U$23"

SolverAdd CellRef:="$J$27:$J$30", Relation:=1, FormulaText:="$Y$29"

SolverSolve UserFinish:=True, ShowRef:=False SolverFinish KeepFinal:=1

' Optymalizacja dla tygodnia W=8

SolverReset

SolverOk SetCell:="$L$40", MaxMinVal:=2, ValueOf:=0,

ByChange:="$F$4:$F$23", Engine:=2, EngineDesc:="Simplex LP"

SolverAdd CellRef:="$L$38", Relation:=2, FormulaText:="0"

SolverAdd CellRef:="$F$4:$F$23", Relation:=4, FormulaText:="całkowita"

SolverAdd CellRef:="$F$4:$F$23", Relation:=1, FormulaText:="$V$4:$V$23"

SolverAdd CellRef:="$L$27:$L$30", Relation:=1, FormulaText:="$Y$29"

SolverOptions MaxTime:=60

SolverSolve UserFinish:=True, ShowRef:=False SolverFinish KeepFinal:=1

' Optymalizacja dla tygodnia W=9

SolverReset

SolverOk SetCell:="$N$40", MaxMinVal:=2, ValueOf:=0,

ByChange:="$G$4:$G$23", Engine:=2, EngineDesc:="Simplex LP"

SolverAdd CellRef:="$N$38", Relation:=2, FormulaText:="0"

SolverAdd CellRef:="$G$4:$G$23", Relation:=4, FormulaText:="całkowita"

SolverAdd CellRef:="$G$4:$G$23", Relation:=1, FormulaText:="$W$4:$W$23"

SolverAdd CellRef:="$N$27:$N$30", Relation:=1, FormulaText:="$Y$29"

SolverSolve UserFinish:=True, ShowRef:=False SolverFinish KeepFinal:=1

' Optymalizacja dla tygodnia W=10

SolverReset

SolverOk SetCell:="$P$40", MaxMinVal:=2, ValueOf:=0,

ByChange:="$H$4:$H$23", Engine:=2, EngineDesc:="Simplex LP"

SolverAdd CellRef:="$P$38", Relation:=2, FormulaText:="0"

SolverAdd CellRef:="$H$4:$H$23", Relation:=4, FormulaText:="całkowita"

SolverAdd CellRef:="$H$4:$H$23", Relation:=1, FormulaText:="$X$4:$X$23"

SolverAdd CellRef:="$P$27:$P$30", Relation:=1, FormulaText:="$Y$29"

SolverSolve UserFinish:=True, ShowRef:=False SolverFinish KeepFinal:=1

' Optymalizacja dla tygodnia W=11

SolverReset

SolverOk SetCell:="$R$40", MaxMinVal:=2, ValueOf:=0,

ByChange:="$I$4:$I$23", Engine:=2, EngineDesc:="Simplex LP"

SolverAdd CellRef:="$R$38", Relation:=2, FormulaText:="0"

SolverAdd CellRef:="$I$4:$I$23", Relation:=4, FormulaText:="całkowita"

SolverAdd CellRef:="$I$4:$I$23", Relation:=1, FormulaText:="$Y$4:$Y$23"

SolverAdd CellRef:="$R$27:$R$30", Relation:=1, FormulaText:="$Y$29"

SolverSolve UserFinish:=True, ShowRef:=False SolverFinish KeepFinal:=1

' Optymalizacja dla tygodnia W=12

SolverReset

SolverOk SetCell:="$T$40", MaxMinVal:=2, ValueOf:=0,

ByChange:="$J$4:$J$23", Engine:=2, EngineDesc:="Simplex LP"

SolverAdd CellRef:="$T$38", Relation:=2, FormulaText:="0"

SolverAdd CellRef:="$T$38", Relation:=2, FormulaText:="0"