• Sonuç bulunamadı

Günümüzde birçok işletme, rekabet üstünlüğü elde etmede işletmeler arası ilişkilerin önemini anlamış ve gerek tedârikçileri gerekse müşterileriyle olan ilişkilerini işbirliği esasına dayanarak yeniden yapılandırmaya başlamışlardır. Bu tez çalışması kapsamında son yıllarda giderek yaygınlaşan bir tedârik zinciri işbirliği stratejisi “Tedârikçi Yönetimli Stok” incelenmiştir.

Tedârikçi Yönetimli Stok (VMI), geleneksel olarak müşteri tarafından tedârikçisine verilen sipârişi, tedârikçinin müşterisinden edindiği satış ve stok bilgilerine dayanarak sipâriş miktarlarını belirlediği bir şekle çevirir. Taraflar arasında bilgi paylaşımı ile klasik sipariş verme sürecinin bir sonucu olan kamçı etkisi ortadan kalkar.

Tedârikçi Yönetimli Stok, tüm ikmâl zinciri noktalarında (üreticiden perakendecinin satış noktasına kadar) tüketici talebini karşılayacak biçimde ürün bulunabilirliğini artırmayı ve stok seviyelerini düşürmeyi amaçlar. VMI, ürünlerin müşteriye doğru, düzgün akışına ve etkin dağıtımına yardımcı olur, ayrıca tedârikçi ve müşterisi arasında stratejik iş ortaklığı kurulmasını destekler. VMI‟ın; depolama ve sipariş verme mâliyetlerinde azalma, stok devir hızında artış, stoksuzluk oranlarında azalma ve müşteri memnuniyetinde artış gibi birçok önemli faydası vardır.

Tedârikçi Yönetimli Stok, tedârik zincirinde yer alan taraflara birçok fayda sağlayabileceği gibi düzgün bir biçimde uygulanmadığında olumsuz etkileri olabilir ve girişim başarısızlık ile sonuçlanır. Literatürde, birçok başarı öyküsünün yanı sıra, VMI uygulamasını fayda sağlamadığı gerekçesiyle bitirdiği anlatılan firma örnekleri de vardır. Bu yüzden tarafların VMI uygulaması konusunda istekli, bilinçli ve bilgi paylaşımına açık olması gerekir. Ayrıca, VMI‟ın benimsenmesi için belirleyici bazı çevresel etmenler vardır. Tedârikçi pazarındaki rekabet ile tedârikçi ve alıcı arasındaki işbirliği arttıkça VMI‟ın benimsenme oranı da artar, alıcının işlemsel belirsizliğinin artışı ise VMI‟ın benimsenmesini olumsuz yönde etkiler.

Literatür araştırmaları sırasında VMI ile ilgili birçok farklı model kurulduğunu gördük. Bu modelleri ayrıntılı olarak incelememiz, bize araştırmacıların farklı depolama, ikmal ve taşıma stratejilerini görmemizi sağladı. Yapılan varsayımların bazen gerçek hayattan ne kadar uzak olduğunu ve modelin etkinliğini kısıtladığını gördük. Farklı bakış açılarını harmanlayarak VMI stratejisi uygulanan iki aşamalı tek tedârikçi-çok alıcıdan oluşan bir tedârik zincirini modelledik. Bu modelden yola çıkarak geliştirdiğimiz yaklaşımı ve bu çalışmanın çıkış noktası olan Nachiappan ve Jawahar (2007) çalışmasındaki yaklaşımı kullanarak ABC firması ve distribütörleri için en iyi işletim parametrelerini hesapladık. Sonuçları karşılaştırdığımızda bizim yaklaşımımızın daha iyi sonuçlar verdiğini gözlemledik.

Yaptığımız modelleme sonucunda VMI uygulaması ile artık dağınık bir biçimde değil de tek elden yani tedârikçi tarafından depolama ve ikmal kararlarının alınması sonucunda toplam mâliyetlerin azaldığını böylece sistemin toplam faydasının arttığını gördük. Tedârikçi hem kendi mâliyet bilgileri hem de alıcının mâliyet ve talep bilgilerine sahip olduğu için depolama ve ikmal kararlarını en iyi şekilde verebilir. Elde bulundurma, taşıma, sipariş verme gibi çeşitli mâliyetlerin sistem üzerinde farklı etkileri vardır. Daha sık ikmaller ile tedârikçi hem kendi hem de alıcının bölgesinde depolanan stok miktarlarını düşürebilir. Fakat bu noktada taşıma mâliyetleri ve sipariş verme mâliyetlerini göz ardı etmemek gerekir. VMI ile alıcıların sipariş verme mâliyetlerinin azalacağı varsayıldığından taşıma mâliyetleri ön plana çıkar. Tedârikçiden alıcıya daha sık ikmaller sonucunda taşıma mâliyetlerinde oluşacak çok büyük bir artıştan kaçınmak gerekir. Bu noktada, iyi bir lojistik ağının kurulması ve dağıtım mâliyetlerinin enküçüklenmesinin önemi bir kez daha görülür. Ayrıca, belirli bir bölgede herhangibir ürün için satış miktarı satış fiyatından oldukça etkilenir. Bütün bunları göz önüne alarak kurulan modelimiz ve geliştirdiğimiz sezgisel yaklaşım farklı durumlarda tedârikçi ve alıcı için karar almaya yardımcı olur.

İleriki çalışmalarda modelimiz farklı açılardan geliştirilebilir. Modelimize farklı hizmet seviyeleri için elde bulundurmama durumu eklenebilir. Ayrıca, modelimiz iki aşamalı bir tedârik zinciri için tasarlanmıştır, çok aşamalı bir tedârik zinciri için geliştirilerek tedârikçi için kendi hammadde temini stratejileri de incelenebilir.

KAYNAKLAR

Achabal, D.D., Mcintyre, S.H., Smith, S.A., Kalyanam, K., 2000. A decision support system for vendor managed inventory, Journal of Retailing, 76, 430-454.

Aytug, H., Khouja, M., Vergara, F.E., 2003. Use of genetic algorithms to solve production and operations management: A review, International Journal of Production Research, 41, 3955–4009.

Bäck, T., Fogel, D., Michalewicz, Z., 1997. Handbook of Evolutionary Computation, Institute of Physics Publishing Ltd. and Oxford University Press.

Banerjee, A., Banerjee, S., 1992. Coordinated, orderless inventory replenishment for a single supplier and multiple buyers through electronic data interchange, International Journal of Technology Management, 7, 328-336.

Chang, C.T., Chiou, C.C., Liao, Y.S., Chang, S.C., 2008. An exact policy for enhancing buyer–supplier linkage in supply chain system, Int. J. Production Economics, 113, 470–479.

Chiadamrong, N., Prasertwattana, K., 2006. A comparative study of supply chain models under the traditional centralized and coordinating policies with incentive schemes, Computers & Industrial Engineering, 50, 367– 384.

Coopers & Lybrand, 1996. Efficient consumer response-Europe: Value chain

analysis project overview,

www.math.vu.nl/~sbhulai/ecr/introduction.html, alındığı tarih 03.02.2009.

Cox, J.F., Blackstone, J.H., Spencer, M.S., 1995. APICS Dictionary (8th ed.), American Production and Inventory Control Society, Falls Church, VA.

Çetinkaya, S., Lee, C.Y., 2000. Stock replenishment and shipment scheduling for vendor-managed inventory systems, Management Science, 46, 217– 232.

De Toni, A.F., Zamolo, E., 2005. From a traditional replenishment system to vendor-managed inventory: A case study from the household electrical appliances sector, International Journal of Production Economics, 96, 63–79.

Dong, Y., Xu, K., 2002. A supply chain model of vendor managed inventory, Transportation Research Part E: Logistics and Transportation Review, 38, 75–95.

Dong, Y., Xu, K., Dresner, M., 2007. Environmental determinants of VMI adoption: An exploratory analysis, Transportation Research Part E, 43, 355– 369.

Eraslan, E., 2003. Multi-echelon envanter modelleri, http://www.baskent.edu.tr/~eraslan/multi.doc, alındığı tarih 15.03.2009.

Eymen, U. E., 2007. Tedârik Zinciri Yönetimi, Kaliteofisi Yayınları, No: 14.

Frahm, S., 2003. Vendor managed inventory (VMI): Three steps in making it work, http://scm.ncsu.edu/public/lessons/less030305.html, alındığı tarih 15.01.2009.

Gurenius, P., Wicander, J., 2007. Vendor managed inventory (VMI)-An analysis of how Microsoft could implement VMI functionality in the ERP system Microsoft Dynamics AX, Master’s Thesis, Lund University and Microsoft Development Center Copenhagen.

Hall, C., 2001. What is VMI?, Enterprise Data Management, Inc., www.datalliance.com/vmi.pdf, alındığı tarih 25.02.2009.

Holweg, M., Disney, S., Holmström, J., Smaros, J., 2005. Supply chain collaboration: Making sense of the strategy continuum, European Management Journal, 23, 170–181.

Joglekar, P.N., 1988. Comments on „„A quantity discount pricing model to increase vendor profits‟‟, Management Science, 34, 1391–1398.

Karkkainen, M., 2003. Increasing efficiency in the supply chain for short shelf life goods using RFID tagging, International Journal of Retail & Distribution Management, 31, 529-536.

Kurnia, S., Schauder, D., Swatman, P.M.C., 1998. Efficient consumer response: A preliminary comparison of U.S. and European experiences, 11th International Conference on Electronic Commerce, Bled, Slovenia, June 8-10, 126-143.

Lee, H.L., So, K.C., Tang, C., 2000. The value of information sharing in a two-level supply chain, Management Science, 46, 626–643.

Lee, Y.H., Kim, S.H., 2002. Production-distribution planning in supply chain considering capacity constraints, Computers and Industrial Engineering, 43, Issue 1-2, 169-190.

Lummus, R.R., Vokurka, R.J., 1999. Defining supply chain management: A historical perspective and practical guidelines, Industrial Management & Data Systems, 99, 11-17.

Masters, T., 1993. Practical neural network recipes in C++, Academic Press, New York.

MATLAB, 2008. The MathWorks, Inc.

Michalewicz, Z., 1994. Genetic Algorithms + Data Structures = Evolution Programs, Second Ed. Springer, Berlin.

Michalewicz, Z., Janikow, C.Z., 1991. Handling constraints in genetic algorithms, Proceedings of the Fourth International Conference on Genetic Algorithms, 151-157.

Min, H., Zhou, G., 2002. Supply chain modeling: past, present and future, Computers & Industrial Engineering, 43, Issue 1-2, 231-249.

Nachiappan, S.P., Jawahar, N., 2007. A genetic algorithm for optimal operating parameters of VMI system in a two-echelon supply chain, European Journal of Operational Research, 182, 1433–1452.

Paksoy, T., 2005. Tedârik zinciri yönetiminde dağıtım ağlarının tasarımı ve optimizasyonu: Malzeme ihtiyaç kısıtı altında stratejik bir üretim- dağıtım modeli, Selçuk Üniversitesi Sosyal Bilimler Enstitüsü Dergisi, 14, 435-455.

Patterson, K., Grimm, C., Corsi, T., 2003. Adopting new technologies for supply chain management, Transportation Research E, 39, 95–121.

Roberts, C., The rise of vendor managed inventory (VMI), www.gdspublishing.com/ic_pdf/apdmanu/elec.pdf, alındığı tarih 12.01.2009.

Sarı, K., Güngör, C., 2007. Tedârikçi yönetimli envanter yaklaşımının tedârik zinciri performansına etkileri, İtüdergisi/d mühendislik, 6, 29-40.

TanyaĢ, M., Baskak, M., 2003. Üretim Planlama ve Kontrol, İrfan Yayımcılık, İstanbul.

Tempelmeier, H., 2006. Inventory management in supply networks-problems, models, solutions, Norderstedt:Books on Demand, ISBN 3-8334- 5373-7.

Tyan, J., Wee, H.M., 2003. Vendor managed inventory: a survey of the Taiwanese grocery industry, Journal of Purchasing & Supply Management, 9, 11-18.

Url-1 <http://www.vendormanagedinventory.com/definition.htm>, alındığı tarih 12.01.2009.

Url-2 <http://www.vendormanagedinventory.com/benefits.htm>, alındığı tarih 18.01.2009.

Url-3 <http://www.vendormanagedinventory.com/pitfalls.php>, alındığı tarih 18.01.2009.

Url-4 <http://www.math.vu.nl/~sbhulai/ecr/pr.html >, alındığı tarih 10.02.2009. Url-5 <http://bunal.etu.edu.tr/dosyalar/Sunu11.pps>, alındığı tarih 17.02.2009. Url-6 <http://erp.karmabilgi.net/erpden-zincirine/>, alındığı tarih 17.02.2009.

Van der Vlist, P., Kuik, R., Verheijen, B., 2007. Note on supply chain integration in vendor-managed inventory, Decision Support Systems, 44, 360– 365.

Waller, M., Johnson, M. E., Davis, T., 1999. Vendor managed inventory in the retail supply chain, Journal of Business Logistics, 20, 183–203.

Wang, C., Ji, S., Shen, J., Wei W., 2008. Supply chain model in vendor managed inventory, Service Operations and Logistics, and Informatics, IEEE International Conference, 2, 2110-2113.

Whipple, J.M., Russell D., 2007. Building supply chain collaboration: A typology of collaborative approaches, The International Journal of Logistics Management, 18, 174-196.

Woo, Y.Y., Hsu, S.L., Wu, S.H., 2001. An integrated inventory model for a single vendor and multiple buyers with ordering cost reduction, International Journal of Production Economics, 73, 203–215.

Yang, K., Ruben, R.A., Webster, S., 2003. Managing vendor inventory in a dual level distribution system, Journal of Business Logistics, 24, 91–108. Yang, P.C., Wee, H.M., 2002. A single-vendor and multiple-buyers production-

inventory policy for a deteriorating item, European Journal of Operation Research, 14, 570–581.

Yang, P.C., Wee, H.M., 2003. An integrated multi-lot-size production inventory model for deteriorating item, Computer &Operations Research, 30, 671–682.

Yao, Y., Evers, P.T., Dresner, M.E., 2007. Supply chain integration in vendor- managed inventory, Decision Support Systems, 43, 663–674.

Yu, H., Zeng, A.Z., Zhao, L., 2008. Analyzing the evolutionary stability of the vendor-managed inventory supply chains, Computers & Industrial Engineering, 56, 274-282.

Yu, Y., Chu, F., Chen, H., 2009. A Stackelberg game and its improvement in a VMI system with a manufacturing vendor, European Journal of Operational Research, 192, 929–948.

Yu, Y., Huang, G.Q., Liang, L., 2009. Stackelberg game-theoretic model for optimizing advertising, pricing and inventory policies in vendor managed inventory (VMI) production supply chains, Computers & Industrial Engineering, article in press.

Zavanella, L., Zanoni, S., 2009. A one-vendor multi-buyer integrated production– inventory model: The „Consignment Stock‟ case, Int. J. Production Economics, article in press.

Zhang, T., Liang, L., Yu, Y., Yu, Y., 2007. An integrated vendor-managed inventory model for a two-echelon system with order cost reduction, Int. J. Production Economics, 109, 241–253.

Zhang, L., Wei, H., Zuo, W., 2008. Research on vendor managed inventory in the condition of multiple retailers in e-commerce, Fourth International Conference on Natural Computation, 232–236.

EKLER

uiload

% Baslangic populasyonu

init_pop = round(rand(2*data.m,9*data.m)); i_pop = init_pop;

LocalBest = zeros(data.iter, 9*data.m); LB_sat_mik = zeros(data.iter, data.m); fitness_maxes = zeros(data.iter,1);

for iter = 1:data.iter

i_pop_dec = zeros(2*data.m,data.m); for k = 1:2*data.m for i = 1:data.m i_pop_dec(k,i) = bin2dec(int2str(i_pop(k,9*i-8:9*i))); end end % Satis miktari sat_mik = round(repmat(data.yimin,2*data.m,1)+(i_pop_dec/511).*... repmat(data.yimax-data.yimin,2*data.m,1));

% Ekonomik uretim miktari

Qi =round(sqrt((2*repmat(data.Sbi+data.Ss,2*data.m,1).*sat_mik)./repmat (data.Hbi+data.Hs,2*data.m,1))); % Stok maliyetleri OSM = repmat(data.Sbi+data.Ss,2*data.m,1).*(sat_mik./Qi)+repmat(data.Hbi+d ata.Hs,2*data.m,1).*(Qi/2);

% Kromozomlarin uygunluk degerleri

fitness = sum((((repmat(data.ai,2*data.m,1)-

repmat(data.bi,2*data.m,1).*sat_mik).*sat_mik)-...

(data.U*sat_mik)-...

(repmat(data.di,2*data.m,1).*sat_mik)-...

OSM),2);

ceza = sum(sat_mik,2) - data.P; ceza(ceza <= 0) = 0;

ceza(ceza > 0) = (ceza(ceza >

0).^data.us)*((data.C*iter)^data.uss)/data.cz; fitness = fitness - ceza;

fitness(fitness < 0) = 0;

% Kromozomlarin yeni uygunluk degerleri

yeni_fitness = exp(fitness*data.k);

% Kromozomlarin secilim olasiliklari

P = yeni_fitness/sum(yeni_fitness);

% En iyi yerel deger, uygunluk degeri ve satis miktari

LocalBest(iter,:) = i_pop(find(yeni_fitness == max(yeni_fitness),1),:);

fitness_maxes(iter) = max(fitness); LB_dec = zeros(1, data.m);

for i = 1:data.m

LB_dec(1,i) = bin2dec(int2str(LocalBest(1,9*i-8:9*i)));

end

LB_sat_mik(iter,:) = round(data.yimin+(LB_dec/511).*...

(data.yimax-data.yimin));

% Kumulatif olasilik degerleri

CP = cumsum(P);

% Yeni populasyon

yeni_pop = zeros(2*data.m, 9*data.m);

for k = 1:2*data.m

yeni_pop(k,:) = i_pop(find(CP >= rand, 1),:);

end yeni_pop(find(yeni_fitness == min(yeni_fitness),1),:) = LocalBest(iter,:); % Caprazlama populasyon r = rand(2*data.m,1); cap_pop = yeni_pop(r <= 0.6,:); yeni_pop(r <= 0.6,:) = []; while mod(size(cap_pop,1),2) r = rand(size(yeni_pop,1),1);

cap_pop = [cap_pop; yeni_pop(find(r <= 0.6,1),:)]; yeni_pop(find(r <= 0.6,1),:) = [];

end

% Caprazlamadan sonra yeni populasyon

halflength = round(size(cap_pop,2)/2); for k = 1:size(cap_pop,1)/2 yeni_pop = [yeni_pop;... cap_pop(2*k-1,1:halflength), cap_pop(2*k,halflength+1:end);... cap_pop(2*k,1:halflength), cap_pop(2*k- 1,halflength+1:end)]; end

% Mutasyondan sonra yeni populasyon

r = rand(2*data.m, 9*data.m);

yeni_pop(r <= 0.03) = 1-yeni_pop(r <= 0.03); i_pop = yeni_pop;

GlobalBest = LocalBest(find(fitness_maxes == GlobalFitness,1),:); GB_dec = zeros(1, data.m);

for i = 1:data.m

GB_dec(1,i) = bin2dec(int2str(GlobalBest(1,9*i-8:9*i)));

end

% Global Satis miktari

GB_sat_mik = round(data.yimin+(GB_dec/511).*...

(data.yimax-data.yimin));

% Global Ekonomik uretim miktari

GB_Qi =

round(sqrt((2*(data.Sbi+data.Ss).*GB_sat_mik)./(data.Hbi+data.Hs)));

% Global Stok maliyetleri

GB_OSM =

(data.Sbi+data.Ss).*(GB_sat_mik./GB_Qi)+(data.Hbi+data.Hs).*(GB_Qi/2 );

% Global Fiyat değerleri

GB_fiyat = data.ai - data.bi.*GB_sat_mik;

% Global kontrat fiyatlari

GB_kfiyat = (GB_fiyat.*GB_sat_mik.*data.PRi + GB_sat_mik*data.U +

GB_sat_mik.*data.di + GB_OSM)./... ((1 + data.PRi).*GB_sat_mik); output.LocalBest = LocalBest; output.fitness_maxes = fitness_maxes; output.GlobalFitness = GlobalFitness; output.GlobalBest = GlobalBest; output.GB_sat_mik = GB_sat_mik; output.GB_Qi = GB_Qi; output.GB_fiyat = GB_fiyat; output.GB_kfiyat = GB_kfiyat; uisave('output') uiload % Baslangic populasyonu init_pop = round(rand(2*data.m,9*data.m)); i_pop = init_pop;

LocalBest = zeros(data.iter, 9*data.m); LB_sat_mik = zeros(data.iter, data.m); fitness_maxes = zeros(data.iter,1);

for iter = 1:data.iter

i_pop_dec = zeros(2*data.m,data.m); for k = 1:2*data.m for i = 1:data.m i_pop_dec(k,i) = bin2dec(int2str(i_pop(k,9*i-8:9*i))); end end

% Satis miktari

sat_mik = round(repmat(data.yimin,2*data.m,1)+(i_pop_dec/511).*...

repmat(data.yimax-data.yimin,2*data.m,1));

% Ekonomik uretim miktari

Qi = round(sqrt((2*data.Ss*sat_mik)./(data.Hs*(1- (sat_mik/data.P))))); % Ikmal sayisi kivmi = sqrt((data.Ss*(2*data.Hs*sat_mik+data.P*repmat(data.Hbi- data.Hs,2*data.m,1)))./... (repmat(data.Ti+data.Sbi,2*data.m,1)*data.Hs.*(data.P-sat_mik)));

% Stok maliyetleri (floor(kivmi) ile)

OSM1 = data.Ss*(sat_mik./Qi)+... data.Hs*((Qi.*sat_mik)./(floor(kivmi)*data.P)+(Qi.*(data.P- sat_mik))/(2*data.P))+... (repmat(data.Hbi- data.Hs,2*data.m,1).*(Qi./(2*floor(kivmi))))+... (repmat(data.Ti+data.Sbi,2*data.m,1).*floor(kivmi).*(sat_mik./Qi));

% Stok maliyetleri (ceil(kivmi) ile)

OSM2 = data.Ss*(sat_mik./Qi)+... data.Hs*((Qi.*sat_mik)./(ceil(kivmi)*data.P)+(Qi.*(data.P- sat_mik))/(2*data.P))+... (repmat(data.Hbi- data.Hs,2*data.m,1).*(Qi./(2*ceil(kivmi))))+... (repmat(data.Ti+data.Sbi,2*data.m,1).*ceil(kivmi).*(sat_mik./Qi));

% En kucuk OSM degerini veren ikmal sayisi

OSM = zeros(2*data.m, data.m); for k = 1:2*data.m for i = 1:data.m if OSM1(k,i) < OSM2(k,i) OSM(k,i) = OSM1(k,i); kivmi(k,i) = floor(kivmi(k,i)); else OSM(k,i) = OSM2(k,i); kivmi(k,i) = ceil(kivmi(k,i)); end end end

% Kromozomlarin uygunluk degerleri

fitness = sum((((repmat(data.ai,2*data.m,1)-

repmat(data.bi,2*data.m,1).*sat_mik).*sat_mik)-...

(data.U*sat_mik)-...

(repmat(data.di,2*data.m,1).*sat_mik)-...

OSM),2);

ceza = sum(sat_mik,2) - data.P; ceza(ceza <= 0) = 0;

ceza(ceza > 0) = (ceza(ceza >

0).^data.us)*((data.C*iter)^data.uss)/data.cz; fitness = fitness - ceza;

% Kromozomlarin yeni uygunluk degerleri

yeni_fitness = exp(fitness*data.k);

% Kromozomlarin secilim olasiliklari

P = yeni_fitness/sum(yeni_fitness);

% En iyi yerel deger, uygunluk degeri ve satis miktari

LocalBest(iter,:) = i_pop(find(yeni_fitness == max(yeni_fitness),1),:);

fitness_maxes(iter) = max(fitness); LB_dec = zeros(1, data.m);

for i = 1:data.m

LB_dec(1,i) = bin2dec(int2str(LocalBest(1,9*i-8:9*i))); end

LB_sat_mik(iter,:) = round(data.yimin+(LB_dec/511).*...

(data.yimax-data.yimin));

% Kumulatif olasilik degerleri

CP = cumsum(P);

% Yeni populasyon

yeni_pop = zeros(2*data.m, 9*data.m); for k = 1:2*data.m

yeni_pop(k,:) = i_pop(find(CP >= rand, 1),:); end yeni_pop(find(yeni_fitness == min(yeni_fitness),1),:) = LocalBest(iter,:); % Caprazlama populasyon r = rand(2*data.m,1); cap_pop = yeni_pop(r <= 0.6,:); yeni_pop(r <= 0.6,:) = []; while mod(size(cap_pop,1),2) r = rand(size(yeni_pop,1),1);

cap_pop = [cap_pop; yeni_pop(find(r <= 0.6,1),:)]; yeni_pop(find(r <= 0.6,1),:) = [];

end

% Caprazlamadan sonra yeni populasyon

halflength = round(size(cap_pop,2)/2); for k = 1:size(cap_pop,1)/2 yeni_pop = [yeni_pop;... cap_pop(2*k-1,1:halflength), cap_pop(2*k,halflength+1:end);... cap_pop(2*k,1:halflength), cap_pop(2*k- 1,halflength+1:end)]; end

% Mutasyondan sonra yeni populasyon

r = rand(2*data.m, 9*data.m);

yeni_pop(r <= 0.03) = 1-yeni_pop(r <= 0.03); i_pop = yeni_pop;

end

% Global en iyi deger ve uygunluk degeri

GlobalFitness = max(fitness_maxes);

GB_dec = zeros(1, data.m);

for i = 1:data.m

GB_dec(1,i) = bin2dec(int2str(GlobalBest(1,9*i-8:9*i)));

end

% Global Satis miktari

GB_sat_mik = round(data.yimin+(GB_dec/511).*...

(data.yimax-data.yimin));

% Global Ekonomik uretim miktari

GB_Qi = round(sqrt((2*data.Ss*GB_sat_mik)./(data.Hs*(1- (GB_sat_mik/data.P)))));

% Global Ikmal sayisi

GB_kivmi = sqrt((data.Ss*(2*data.Hs*GB_sat_mik+data.P*(data.Hbi- data.Hs)))./...

((data.Ti+data.Sbi)*data.Hs.*(data.P-GB_sat_mik)));

% Global Stok maliyetleri (floor(kivmi) ile)

GB_OSM1 = data.Ss*(GB_sat_mik./GB_Qi)+... data.Hs*((GB_Qi.*GB_sat_mik)./(floor(GB_kivmi)*data.P)+(GB_Qi.*(data .P-GB_sat_mik))/(2*data.P))+... ((data.Hbi-data.Hs).*(GB_Qi./(2*floor(GB_kivmi))))+... ((data.Ti+data.Sbi).*floor(GB_kivmi).*(GB_sat_mik./GB_Qi));

% Global Stok maliyetleri (ceil(kivmi) ile)

GB_OSM2 = data.Ss*(GB_sat_mik./GB_Qi)+... data.Hs*((GB_Qi.*GB_sat_mik)./(ceil(GB_kivmi)*data.P)+(GB_Qi.*(data. P-GB_sat_mik))/(2*data.P))+... ((data.Hbi-data.Hs).*(GB_Qi./(2*ceil(GB_kivmi))))+... ((data.Ti+data.Sbi).*ceil(GB_kivmi).*(GB_sat_mik./GB_Qi));

% Global En kucuk OSM degerini veren ikmal sayisi

GB_OSM = zeros(1, data.m);

for i = 1:data.m if GB_OSM1(1,i) < GB_OSM2(1,i) GB_OSM(1,i) = GB_OSM1(1,i); GB_kivmi(1,i) = floor(GB_kivmi(1,i)); else GB_OSM(1,i) = GB_OSM2(1,i); GB_kivmi(1,i) = ceil(GB_kivmi(1,i)); end end

% Global Fiyat değerleri

GB_fiyat = data.ai - data.bi.*GB_sat_mik;

% Global kontrat fiyatlari

GB_kfiyat = (GB_fiyat.*GB_sat_mik.*data.PRi + GB_sat_mik*data.U +

GB_sat_mik.*data.di + GB_OSM)./... ((1 + data.PRi).*GB_sat_mik); output.LocalBest = LocalBest; output.fitness_maxes = fitness_maxes; output.GlobalFitness = GlobalFitness; output.GlobalBest = GlobalBest;

output.GB_kivmi = GB_kivmi; output.GB_fiyat = GB_fiyat; output.GB_kfiyat = GB_kfiyat; uisave('output') uiload % Baslangic populasyonu init_pop = round(rand(2*data.m,9*data.m)); i_pop = init_pop;

LocalBest = zeros(data.iter, 9*data.m); LB_sat_mik = zeros(data.iter, data.m); fitness_maxes = zeros(data.iter,1);

for iter = 1:data.iter

i_pop_dec = zeros(2*data.m,data.m); for k = 1:2*data.m for i = 1:data.m i_pop_dec(k,i) = bin2dec(int2str(i_pop(k,9*i-8:9*i))); end end % Satis miktari sat_mik = round(repmat(data.yimin,2*data.m,1)+(i_pop_dec/511).*... repmat(data.yimax-data.yimin,2*data.m,1));

% Ekonomik uretim miktari

Qi = round(sqrt((2*data.Ss*sat_mik)./(data.Hs*(1- (sat_mik/data.P))))); % Ikmal sayisi kivmi = sqrt((data.Ss*(2*data.Hs*sat_mik+data.P*repmat(data.Hbi- data.Hs,2*data.m,1)))./... (repmat(data.Ti+data.Sbi,2*data.m,1)*data.Hs.*(data.P- sat_mik)));

% Stok maliyetleri (floor(kivmi) ile)

OSM1 = data.Ss*(sat_mik./Qi)+... data.Hs*((Qi.*sat_mik)./(floor(kivmi)*data.P)+(Qi.*(data.P- sat_mik))/(2*data.P))+... (repmat(data.Hbi- data.Hs,2*data.m,1).*(Qi./(2*floor(kivmi))))+... (repmat(data.Ti+data.Sbi,2*data.m,1).*floor(kivmi).*(sat_mik./Qi));

% Stok maliyetleri (ceil(kivmi) ile)

OSM2 = data.Ss*(sat_mik./Qi)+...

data.Hs*((Qi.*sat_mik)./(ceil(kivmi)*data.P)+(Qi.*(data.P- sat_mik))/(2*data.P))+...

(repmat(data.Hbi-

data.Hs,2*data.m,1).*(Qi./(2*ceil(kivmi))))+...

(repmat(data.Ti+data.Sbi,2*data.m,1).*ceil(kivmi).*(sat_mik./Qi));

% En kucuk OSM degerini veren ikmal sayisi

OSM = zeros(2*data.m, data.m); for k = 1:2*data.m for i = 1:data.m if OSM1(k,i) < OSM2(k,i) OSM(k,i) = OSM1(k,i); kivmi(k,i) = floor(kivmi(k,i)); else OSM(k,i) = OSM2(k,i); kivmi(k,i) = ceil(kivmi(k,i)); end end end

% Kromozomlarin uygunluk degerleri

fitness = sum((((repmat(data.ai,2*data.m,1)-

repmat(data.bi,2*data.m,1).*sat_mik).*sat_mik)-...

(data.U*sat_mik)-...

(repmat(data.di,2*data.m,1).*sat_mik)-...

OSM),2);

ceza = sum(sat_mik,2) - data.P; ceza(ceza <= 0) = 0;

ceza(ceza > 0) = (ceza(ceza >

0).^data.us)*((data.C*iter)^data.uss)/data.cz; fitness = fitness - ceza;

fitness(fitness < 0) = 0;

% Kromozomlarin yeni uygunluk degerleri

yeni_fitness = exp(fitness*data.k);

% Kromozomlarin secilim olasiliklari

P = yeni_fitness/sum(yeni_fitness);

% En iyi yerel deger, uygunluk degeri ve satis miktari

LocalBest(iter,:) = i_pop(find(yeni_fitness == max(yeni_fitness),1),:);

fitness_maxes(iter) = max(fitness); LB_dec = zeros(1, data.m);

for i = 1:data.m

LB_dec(1,i) = bin2dec(int2str(LocalBest(1,9*i-8:9*i))); end

LB_sat_mik(iter,:) = round(data.yimin+(LB_dec/511).*...

(data.yimax-data.yimin));

% Kumulatif olasilik degerleri

CP = cumsum(P);

% Yeni populasyon

yeni_pop = zeros(2*data.m, 9*data.m); for k = 1:2*data.m

yeni_pop(k,:) = i_pop(find(CP >= rand, 1),:); end

yeni_pop(find(yeni_fitness == min(yeni_fitness),1),:) = LocalBest(iter,:);

cap_pop = yeni_pop(r <= 0.6,:); yeni_pop(r <= 0.6,:) = [];

while mod(size(cap_pop,1),2)

r = rand(size(yeni_pop,1),1);

cap_pop = [cap_pop; yeni_pop(find(r <= 0.6,1),:)]; yeni_pop(find(r <= 0.6,1),:) = [];

end

% Caprazlamadan sonra yeni populasyon

halflength = round(size(cap_pop,2)/3); for k = 1:size(cap_pop,1)/2 yeni_pop = [yeni_pop;... cap_pop(2*k-1,1:halflength), cap_pop(2*k,halflength+1:2*halflength), cap_pop(2*k- 1,2*halflength+1:end);... cap_pop(2*k,1:halflength), cap_pop(2*k- 1,halflength+1:2*halflength), cap_pop(2*k,2*halflength+1:end)]; end

% Mutasyondan sonra yeni populasyon

r = rand(2*data.m, 9*data.m);

yeni_pop(r <= 0.03) = 1-yeni_pop(r <= 0.03); i_pop = yeni_pop;

end

% Global en iyi deger ve uygunluk degeri

GlobalFitness = max(fitness_maxes);

GlobalBest = LocalBest(find(fitness_maxes == GlobalFitness,1),:); GB_dec = zeros(1, data.m);

for i = 1:data.m

GB_dec(1,i) = bin2dec(int2str(GlobalBest(1,9*i-8:9*i)));

end

% Global Satis miktari

GB_sat_mik = round(data.yimin+(GB_dec/511).*...

(data.yimax-data.yimin));

% Global Ekonomik uretim miktari

GB_Qi = round(sqrt((2*data.Ss*GB_sat_mik)./(data.Hs*(1- (GB_sat_mik/data.P)))));

% Global Ikmal sayisi

GB_kivmi = sqrt((data.Ss*(2*data.Hs*GB_sat_mik+data.P*(data.Hbi- data.Hs)))./...

((data.Ti+data.Sbi)*data.Hs.*(data.P-GB_sat_mik)));

% Global Stok maliyetleri (floor(kivmi) ile)

GB_OSM1 = data.Ss*(GB_sat_mik./GB_Qi)+... data.Hs*((GB_Qi.*GB_sat_mik)./(floor(GB_kivmi)*data.P)+(GB_Qi.*(data .P-GB_sat_mik))/(2*data.P))+... ((data.Hbi-data.Hs).*(GB_Qi./(2*floor(GB_kivmi))))+... ((data.Ti+data.Sbi).*floor(GB_kivmi).*(GB_sat_mik./GB_Qi));

% Global Stok maliyetleri (ceil(kivmi) ile)

data.Hs*((GB_Qi.*GB_sat_mik)./(ceil(GB_kivmi)*data.P)+(GB_Qi.*(data.

P-GB_sat_mik))/(2*data.P))+...

((data.Hbi-data.Hs).*(GB_Qi./(2*ceil(GB_kivmi))))+...

((data.Ti+data.Sbi).*ceil(GB_kivmi).*(GB_sat_mik./GB_Qi));

% Global En kucuk OSM degerini veren ikmal sayisi

GB_OSM = zeros(1, data.m);

for i = 1:data.m if GB_OSM1(1,i) < GB_OSM2(1,i) GB_OSM(1,i) = GB_OSM1(1,i); GB_kivmi(1,i) = floor(GB_kivmi(1,i)); else GB_OSM(1,i) = GB_OSM2(1,i); GB_kivmi(1,i) = ceil(GB_kivmi(1,i)); end end

% Global Fiyat değerleri

GB_fiyat = data.ai - data.bi.*GB_sat_mik;

% Global kontrat fiyatlari

GB_kfiyat = (GB_fiyat.*GB_sat_mik.*data.PRi + GB_sat_mik*data.U +

GB_sat_mik.*data.di + GB_OSM)./... ((1 + data.PRi).*GB_sat_mik); output.LocalBest = LocalBest; output.fitness_maxes = fitness_maxes; output.GlobalFitness = GlobalFitness; output.GlobalBest = GlobalBest; output.GB_sat_mik = GB_sat_mik; output.GB_Qi = GB_Qi; output.GB_kivmi = GB_kivmi; output.GB_fiyat = GB_fiyat; output.GB_kfiyat = GB_kfiyat; uisave('output')

ÖZGEÇMĠġ

Ad Soyad: Beliz Kutlar

Doğum Yeri ve Tarihi: İstanbul, 22.04.1985 Lisans Üniversite: Galatasaray Üniversitesi

Benzer Belgeler