Kararlarımız bizi ve geleceğimizi şekillendirir. Alınan kararlar mikro düzeyde kişi tarafından olabileceği gibi, makro ölçekte kurum, kuruluş ve hatta ülke ya da ülkeler tarafından da olabilir. Karar verme aslında yaşamın ta kendisidir. Yapılan işin ya da konunun niteliğine göre her an, her saniye karar veririz ve verdiğimiz kararları ve kararların sonuçlarını yaşarız. Dolayısıyla, verilecek kararların doğruluğu, bilimsel geçerliliği ve olası sonuçları ne kadar geçerli ve güvenilir olursa, diğer bir deyişle, optimal olursa elde edilecek fayda o kadar yüksek olur. Bu fayda, makro ölçekte gerçekleşebileceği gibi operasyonel düzeyde de gerçekleşebilir. Ancak, karar verirken genellikle tek tip problemlerle karşılaşmayız. Bu problemler ve sorun alanları çoğu zaman birden çok faktörü ya da değişkeni, diğer bir deyişle karar kriterlerini içinde barındırır. Bu aşamada çok kriterli karar verme yöntemleri, kriterlerin değerlerini ve bizim kriterlere atfettiğimiz önem derecelerini değerlendirmeye, analiz etmeye ve bu kriterlere göre sorunlara anlık çözümler üretmeye olanak tanır. Özetle, aslında evrende insanlar ve nesneler tarafından yapılan her eylemin arkasında, daha iyi ve doğru karar verme çabası yatmaktadır ve bu çaba hiç bir zaman bitmeyecektir.
Geliştirdiğim APLOCO yönteminin makaledeki uygulama adımları takip edilerek makaledeki uygulama örneği üzerinden olabildiğince sade ve anlaşılır bir dille Microsoft Excel’in yanısıra R programlama dilinde de hazırlanmıştır. Hazırlamış olduğum excel dokumanı aşağıdaki linkten indirilebilir. Hem excelde hem de R programlama dilinde uygulaması gösterilen örneğin daha iyi anlaşılabilmesi için aşağıdaki linkten makalenin indirilerek makaledeki uygulama adımlarının okunması faydalı olacaktır. Yöntemin uygulanması excelde ve R programlama dilinde de gösterildiği için yapacağınız çalışmalarda bu yöntemin kullanılması aşamasında tek yapılması gereken matrislerin genişletilmesi ya da daraltılması olacaktır. R programlama dilinde yapılmış olan uygulamanın çalışması için bilgisayarınızda R programlama dilinin yüklü olması gerekmektedir. Programlama dili yüklü değilse https://www.r-project.org/ linkinden ücretsiz olarak indirilebilir. Daha sonra install.packages("rmarkdown") ve install.packages("tidyverse")
fonksiyonlarıyla paketlerin kurulumu ve yüklenmesi (library(rmarkdown) ve library(tidyverse)) tamamlandıktan sonra R’da örnek uygulamaya ilişkin aşağıda yazdığım kod blokları ile çalıştırılabilir. İlgilenenler için makaledeki çalışmanın sonuçlarını özetleyen bilimsel poster sunumu (scientific poster presentation of APLOCO) da aşağıdaki linkten indirilebilir.
APLOCO’da kullanılan kriter ağırlıklarının belirlenmesinde yapay zeka alanı içerisinde yer alan ve Derin Öğrenme (Deep Learning) yöntemlerinden biri olan Çok Katmanlı Perseptron (Multi Layer Perceptron) kullanılmıştır. Ancak geliştirilen bu çok kriterli karar verme yöntemi kriter ağırlıklıklarının belirlenmesi noktasında yapay zekaya bağımlı değildir. Kriter ağırlıkları her hangi bir yöntemle de belirlenebilir. Sonuç itibariyle, kriter ağırlıkları hangi yöntemle belirlenirse belirlensin belirlenen ağırlıklar bu yöntem içinde kullanılabilir. Bu çalışmada kullanılmasının nedeni verinin normal dağılım göstermemesinden, dolayısıyla outlier’ların çıkarılmamak ve transformation yapılmamak istenmesinden kaynaklanmaktadır. Aksi takdirde, veriler normal dağılıma uygun hale getirilseydi en önemli veriler dışarıda kalacaktı. Yapay zekanın veriyi dışarıda bırakmaması ve veriden öğrenebilme yeteneğinin olması kriter ağırlıklarının belirlenmesi işleminde kullanılmasının temel nedenlerinden birini oluşturmuştur.
Geliştirilen yöntem bu alanda mevcut diğer yöntemlerin bazıları ile karşılaştırılarak sonuçları da ortaya konulmuştur. Ancak zaman kısıtı ve iş yoğunluğundan dolayı yayınlanan makaleye yansıtılamamıştır. Önümüzdeki zamanlarda uygun bir zaman diliminde karşılaştırmalı sonuçların ortaya konulması düşünülmektedir.
APLOCO Kullanım Alanları : Fields of Use of APLOCO
- Sıralama (Ranking)
- Seçim (Selection)
- Etkinlik ve verimlilik ölçümleri (measurements of efficiency and productivity)
- Performans değenlendirme (performance evaluation)
- Risk tahmini (risk estimation)
- Optimal çözüm (optimal solution)
gibi açık uçlu ve aynı zamanda statik ve dinamik bir seyir izleyen bütün karar verme problemlerinin çözümünde sektör ayrımı olmaksızın rahatlıkla uygulanabilir. Yapılan çalışmanın literatüre katkısının yanında Türkiye’de yeterince gelişim gösteremeyen yöneylem araştırma (operation research) alanına da önemli katkı sağlayacağı inancındayım.
Faydalı olması dileğiyle..
Makale (Article): Cornell University
Poster Sunumu (Poster Presentation): Bilimsel Poster Sunumu (Scientific Poster Presentation)
APLOCO Uygulama Adımları (APLOCO Implementation Steps)
APLOCO’nun uygulanması 5 adımda tamamlanmaktadır;
- Step 1: Building the decision matrix (DM)
- Step 2: Calculation of starting point criteria (SPC) values
- Step 3: Forming the logarithmic conversion (LC) matrix
- Step 4: Determining the weights of criteria (WC) and calculating the weighted logarithmic conversion (WLC) matrix
- Step 5: Determination of the best alternative (BA)
APLOCO uygulama adımlarının Diagram 1 üzerinde gösterimi (Demonstration of APLOCO implementation steps on Diagram 1)
Diagram 1. APLOCO Uygulama Adımları (APLOCO Implementation Steps)

APLOCO karar vericiye 3 tabaka halinde statik ve dinamik çıktı üretme olanağı tanır. Bu tabakalar Şekil 1’te özetlenmiştir. Şekil 1’de görüleceği üzere bu çıktılar Tabaka 1’de alternatiflerin bütün kriterlerinin değerlendirmeye tabi tutulduğu genel diyebileceğimiz APLOCO skorları (değerleri) üretilir. Makalede sadece Tabaka 1’e ilişkin APLOCO sonuçları üretilmiştir. Karar verici, Tabaka 1( Alternatiflerin Kriterlere Göre Aldığı APLOCO Sonuçları)’de üretilen sonuçlara göre Tabaka 2 (Kriter Kümeleri APLOCO Sonuçları) ve Tabaka 3 (Kriter Bazlı APLOCO Sonuçları)’e ilişkin sonuçlar da üreterek daha derinlemesine analiz yapabilir.
Eğer karar verici çok sayıda ve sınıflandırılmış karar kriterleri kümesine sahipse Tabaka ‘ye 2 ilişkin APLOCO sonuçları da üretilebilir.
Tabaka 2’de karar verici karar kriterleri kümesine ait Adım 5’te belirlenmiş olan optimal çözüm değerleri toplamı belirlenir. Daha sonra karar kriterleri kümesine ait Adım 5’te belirlenmiş olan karar kriterlerinin değerleri toplamı oranlanarak kriter kümelerine ait APLOCO sonuçları (Theta Skorları) elde edilmiş olur. Diğer bir deyişle, kriter kümesinin tij değerleri toplamı kriter kümesinin βj değerleri toplamına oranlanarak kriter kümesinin/kümelerinin θ (Theta) skorları elde edilerek Tabaka 2’ye ilişkin APLOCO sonuçları elde edilmiş olur. Ancak, makalede kriter kümeleri oluşturulmadığı için Tabaka 2’ye ilişkin sonuçlara yer verilmemiştir. Tabaka 2’ye ilişkin sonuçların elde edilmesi karar vericinin araştırma dizaynına ve elde etmek istediği araştırma sonuçlarına bağlıdır. Dolayısıyla, bu tabakaya ilişkin sonuçların ortaya konulması karar vericiye bağlıdır. Diğer bir deyişle, bu tabakaya ilişkin sonuçların ortaya konulması zorunlu değildir.
Karar verici Adım 5 (Step 5)’te her bir kriterin ağırlıklandırılmış değeri (tij) ile her bir kritere ilişkin hesaplanmış optimal çözüm değeri (βj) birbirine oranlanarak her bir alternatifin kriter bazında θ (Theta) skorları elde edilerek Tabaka 3’e ilişkin APLOCO sonuçları üretilmiş olur. Bu tabakada karar vericinin kriter bazında alternatifler arasında (yatay analiz:horizantal analysis) ve kriterler bazında alternatif içinde (vertical analysis:dikey analiz) hem yatay ve hem dikey analize tabi tutarak değerlendirmesine olanak tanınır. Diğer bir deyişle, bu tabaka, alternatiflerin kriterlere göre kendi içerisinde (dikey analiz) ve aralarında (yatay analiz değerlendirme yapılmasına imkan sağlar.
Şekil 1. APLOCO Çıktı Üretme Seviyeleri: APLOCO Output Generation Levels

APLOCO 3 seviyede çıktı üretmekte olup, bu 3 çıktı tabakasına göre üretilen çıktı sayısı ile üretilen APLOCO skorların dayalı olduğu tabaka değişkenleri Şekil 2’de gösterilmiştir.
Burada,
L: tabaka (Layer),
m: matristeki satır veya kriter sayısı (the number of rows or criteria in the matrix),
n: matristeki sütun veya alternatiflerin sayısı (the number of columns or alternatives in the matrix),
c: benzer özelliklere sahip kriterlerden oluşan toplam küme sayısı olmak üzere (the total number of clusters of criteria with similar characteristics)
göstermek üzere tabakalara göre üretilen çıktı sayısı
Tabaka 1 için üretilen sonuç sayısı (Number of results produced for Layer 1)
L1=n
Tabaka 2 için üretilen sonuç sayısı (Number of results produced for Layer 2)
L2=cxm
Tabaka 3 için üretilen sonuç sayısı (Number of results produced for Layer 3)
L3=mxn
kadardır.
Şekil 2. APLOCO Çıktı Üretme Seviyeleri ve APLOCO Çıktılarının Dayalı Olduğu Tabaka Değişkenleri (APLOCO Output Generation Levels and APLOCO Outputs Based on Layer Variables)

Tabaka 1’e Göre Microsoft Excel Uygulama Örneği (Downloadable Aplication Example of APLOCO According to Layer 1 In Microsoft Excel):
Simülasyon uygulamasında ise tekrarlı basit tesadüfi örnekleme tekniği kullanarak sentetik alternatif kriter değerleri üretilmiştir. F9 tuşuna basılı tutarak yeni alternatif kriter değerleri üreterek farklılaşmaları görebilirsiniz (In the simulation application, synthetic alternative criterion values were produced by using repeated simple random sampling technique. You can see the variations by generating new alternative criteria values by holding down the F9 key.).
R Programlama Dilindeki APLOCO Uygulama Sonuçlarının Grafikleri ve Kod Blokları (R Code Blocks of Charts)
Burada, sonuçların görselleştirilmesi adına kod blokları ile Tabaka 1 seviyesinde elde edilen APLOCO sonuçları alternatiflerin θ skorlarına göre sıralı bir şekilde farklı seçenekli grafiklerle verilmiştir.
Şekil 3: Tabaka 1 seviyesinde elde edilen APLOCO Sonuçları (Seçenek 1)

R Kod Bloğu-1:
ggplot(ggplot) +
geom_point(aes(Theta, y = reorder(Alternatives, Theta)), size=2, col="red")+
labs(subtitle=NULL,
y="Alternatives",
x="Theta Scores",
title="APLOCO Results",
caption = "Source: APLOCO")+
xlim(min(ggplot$Theta), max(ggplot$Theta))+
scale_x_continuous(limits = c(0, 1))+
theme(plot.title = element_text(family = "Trebuchet MS", color="#666666", face="bold", size=18, hjust=0)) +
theme(axis.title = element_text(family = "Trebuchet MS", color="#666666", face="bold", size=12))
Şekil 4: Tabaka 1 seviyesinde elde edilen APLOCO Sonuçları (Seçenek 2)

R Kod Bloğu-2:
ggplot(ggplot) +
geom_point(aes(Theta, y = reorder(Alternatives, Theta)),col="red",size=6, shape="+")+
labs(subtitle=NULL,
y="Alternatives",
x="Theta Scores",
title="APLOCO Results",
caption = "Source: APLOCO")+
scale_x_continuous(limits = c(0.0, 1.0))+
theme(plot.title = element_text(family = "Trebuchet MS", color="#666666", face="bold", size=18, hjust=0)) +
theme(axis.title = element_text(family = "Trebuchet MS", color="#666666", face="bold", size=12))
Şekil 4: Tabaka 1 seviyesinde elde edilen APLOCO Sonuçları (Seçenek 3)

R Kod Bloğu-3:
ggplot(ggplot, aes(Alternatives, Theta))+
geom_point(col="red", size=3, shape="+") +
geom_text_repel(aes(label=round(Theta, 4)), size = 3)+
labs(subtitle=NULL,
y="Theta Scores",
x="Alternatives",
title="APLOCO Results",
caption = "Source: APLOCO By Tevfik Bulut")+
scale_y_continuous(limits = c(0.0, 1.0))+
theme(plot.title = element_text(family = "Trebuchet MS", color="#666666", face="bold", size=18, hjust=0.5)) +
theme(axis.title = element_text(family = "Trebuchet MS", color="#666666", face="bold", size=12))
R Programlama Dilindeki Tabaka 1 İçin Kod Blokları (Code Blocks for Layer 1 In R Programming Language)
R programlama dilindeki R Mark Down üzerinde aşama aşama (step by step) hazırlanmış kod blokları aşağıda gösterilmiştir.
R Kod Blokları-4:
APLOCO Uygulama Adımları (APLOCO Aplication Steps)
#Step 1: Building the decision matrix
r1<-c(2.00, 7.00, 1.00, 9.00, 2.00, 7.00, 6.00, 4.00, 9.00)
r2<-c(0.00, 0.00, 0.00, 2.00, 1.00, 1.00, 5.00, 0.00, 0.00)
r3<-c(0.00, 0.00, 0.00, 1.00, 0.00, 0.00, 0.00, 0.00, 0.00)
r4<-c(2.00, 1.00, 1.00, 1.00, 2.00, 1.00, 1.00, 3.00, 1.00)
r5<-c(0.45, 0.55, 0.64, 0.60, 0.65, 0.52, 0.58, 0.53, 0.60)
r6<-c(0.42, 0.47, 0.41, 0.62, 0.51, 0.47, 0.48, 0.62, 0.52)
r7<-c(0.35, 0.80, 0.58, 0.54, 0.54, 0.88, 0.63, 0.39, 0.66)
r8<-c(383.00, 11246.00, 216.00, 1335.00, 142.00, 22665.00, 796.00, 302.00, 1249.00)
r9<-c(14.00, 13.00, 14.00, 10.00, 15.00, 14.00, 13.00, 12.00, 13.00)
dmatrix<-matrix(c(r1,r2,r3,r4,r5,r6,r7,r8,r9), byrow=TRUE, nrow=9, ncol=9)
dmatrix
colnames(dmatrix)<-c("A1","A2","A3","A4","A5","A6","A7","A8","A9")
dmatrix
rownames(dmatrix)<-c("C1", "C2","C3","C4","C5","C6","C7","C8","C9")
dmatrix
#Step 2: Calculation of starting point criteria (SPC) values
#Maximum starting point criteria values
r1_max<-max(dmatrix[1,])
r2_max<-max(dmatrix[2,])
r4_max<-max(dmatrix[4,])
r5_max<-max(dmatrix[5,])
r6_max<-max(dmatrix[6,])
r7_max<-max(dmatrix[7,])
r8_max<-max(dmatrix[8,])
r9_max<-max(dmatrix[9,])
#Minimum starting point criteria (SPC) values
r3_min<-min(dmatrix[3,])
r3_min
#Forming of starting point criteria (SPC) Matrix
SPC_Matrix<-matrix(c(r1_max-dmatrix[1,], r2_max-dmatrix[2,], dmatrix[3,]-r3_min, r4_max-dmatrix[4,], r5_max-dmatrix[5,], r6_max-dmatrix[6,], r7_max-dmatrix[7,], r8_max-dmatrix[8,], r9_max-dmatrix[9,]), byrow = TRUE, nrow=9, ncol=9)
SPC_Matrix
colnames(SPC_Matrix)<-c("A1","A2","A3","A4","A5","A6","A7","A8","A9")
SPC_Matrix
rownames(SPC_Matrix)<-c("C1", "C2","C3","C4","C5","C6","C7","C8","C9")
SPC_Matrix
#Step 3: Forming the logarithmic conversion (LC) matrix
LC_Matrix<-1/log(SPC_Matrix+2)
LC_Matrix
Step 4: Determining the weights of criteria and calculating the weighted logarithmic conversion (WLC) matrix
#Variables and weights of variables. In here, these variables are also decision criteria at the same time.
Weighted_Values<-data.frame(Variables=c("Mixed","Specialized","Reformed","Incentive zone","Education İndex","Income and wealth index","Security index", "Total number of parcels in production","Passing Years (average)"), Weights=c(0.013, 0.016, 0.018, 0.043, 0.048, 0.096, 0.007, 0.750, 0.009))
Weighted_Values
#WLC Matrix
#In here, w is donated as weights of decision criteria.
w<-c(0.013, 0.016, 0.018, 0.043, 0.048, 0.096, 0.007, 0.750, 0.009)
w
#In here, w values are multiplied by LC_Matrix ones.
WLC_Matrix<-matrix(c(w[1]*LC_Matrix[1,], w[2]*LC_Matrix[2,], w[3]*LC_Matrix[3,], w[4]*LC_Matrix[4,], w[5]*LC_Matrix[5,], w[6]*LC_Matrix[6,], w[7]*LC_Matrix[7,],w[8]*LC_Matrix[8,], w[9]*LC_Matrix[9,]), byrow = TRUE, nrow = 9, ncol=9)
WLC_Matrix
Step 5: Determination of the best alternative
#β is the maximum value of the criterion on each row.In here, Sum of β values of criteria are shown below;
β_sum_max<-sum(apply(WLC_Matrix, 1, max))
β_sum_max
#In here, asi indicates the sum of values of the criteria for each alternative in each column.
asi<-apply(WLC_Matrix, 2, sum)
asi
### In here, cities indicate “Adana, Ankara, Antalya, Bursa, Denizli, Istanbul, Kocaeli, Manisa, Izmir” as alternatives.
#θ Scores are asi/β_sum_max
Scores<-data.frame(Alternatives=c("Adana","Ankara","Antalya","Bursa","Denizli","Istanbul","Kocaeli","Manisa","Izmir"), Theta_Scores=c(asi/β_sum_max), Beta_Score=rep(β_sum_max,9), Rank=rank(-Scores$Theta_Scores))
Scores
#Visiualization of the results
ggplot(Scores) +
geom_point(aes(x=Alternatives, y=Theta_Scores)) +
geom_hline(yintercept = 1.442695, size=2, col="red")+
ggtitle(label="Theta Scores", subtitle = NULL)
Tabaka 1: APLOCO Sonuçlarının Harita Üzerinde Gösterimi (On-Map Display of Results)

Tabaka 3’e Göre Microsoft Excel Uygulama Örneği (Downloadable Aplication Example of APLOCO According to Layer 3 In Microsoft Excel):
Tabaka 3’e ilişkin APLOCO sonuçlarının dikey (vertical) ve yatay (horizantal) analiz açısından değerlendirilmesini içerir grafikler R kod bloklarıyla birlikte aşağıda verilmiştir.
Şekil 5: APLOCO Sonuçlarının Tabaka 3 Seviyesinde Dikey Analiz Açısından Değerlendirilmesi

R Kod Bloğu-5:
merge<-ggplot(data=level_3, aes(Criteria, y=Theta)) +
geom_point(size=1.5, col="red") + geom_smooth(method="lm") +
geom_text_repel(aes(label=round(Theta, 3)), size = 3)+
xlab("Criteria") + ylab("Theta Scores") + ggtitle("APLOCO Results at Layer 3: Vertical Analysis")
merge + facet_grid(. ~ Criteria)+facet_wrap( ~ Alternatives, ncol=3)+
theme(plot.title = element_text(family = "Trebuchet MS", color="#666666", face="bold", size=16, hjust=0.5))+
theme(axis.title = element_text(family = "Trebuchet MS", color="#666666", face="bold", size=12))+
labs(subtitle=NULL,
caption = "Source: APLOCO By Tevfik Bulut")
Şekil 6: APLOCO Sonuçlarının Tabaka 3 Seviyesinde Yatay Analiz Açısından Değerlendirilmesi

R Kod Bloğu-6:
merge<-ggplot(data=level_3, aes(Alternatives, y=Theta)) +
geom_point(size=1.5, col="red") + geom_smooth(method="lm") +
geom_text_repel(aes(label=round(Theta, 3)), size = 3)+
xlab("Alternatives") + ylab("Theta Scores") + ggtitle("APLOCO Results at Layer 3: Horizantal Analysis")
merge + facet_grid(. ~ Criteria)+facet_wrap( ~ Criteria, ncol=3)+
theme(plot.title = element_text(family = "Trebuchet MS", color="#666666", face="bold", size=16, hjust=0.5))+
theme(axis.title = element_text(family = "Trebuchet MS", color="#666666", face="bold", size=12))+
labs(subtitle=NULL,
caption = "Source: APLOCO By Tevfik Bulut")
APLOCO Yöntemini Kullanan Çalışmalar
- https://www.icatces.org/ICATCES2019_Program_v14.pdf, Ulaşım Tarihi: 16.05.2019
- http://muh.karabuk.edu.tr/bilgisayar/icatces/proceeding_book_2019.pdf, Ulaşım Tarihi: 22.05.2019
- Mishra, Amit Kumar, Joshi, Nisheeth, and Mathur, Iti. ‘A Fuzzy Based Integrated Model for Identification of Vital Node in Terrorist Network Using Logarithmic Concept’. 1 Jan. 2020 : 1 – 15. https://content.iospress.com/articles/journal-of-intelligent-and-fuzzy-systems/ifs191899. Not: Adı geçen çalışmada geliştirdiğim Approach of Logarithmic Concept (APLOCO) yöntemi sosyal ağ analizinde diğer yöntemlerle karşılaştırmalı olarak test edilmiş, ALOCO yöntemi diğer yöntemlere göre daha yüksek performansa sahip olduğu bulunmuştur.
- Fındık, O., Özkaynak, E. Link prediction based on node weighting in complex networks. Soft Comput (2020). https://doi.org/10.1007/s00500-020-05314-8
- Özkaynak, Emrah . (2020). Karmaşık Ağlarda Düğüm Ağırlıklı Bağlantı Yöntemlerinin Geliştirilmesi. Doktora Tezi, Karabük Üniversitesi Bilgisayar Mühendisliği. Doktora tezi. http://acikerisim.karabuk.edu.tr:8080/xmlui/bitstream/handle/123456789/1011/10372612.pdf?sequence=1 adresinden adı geçen doktora tezine ulaşılabilir.
Not: Emeğe saygı adına alınan kaynağın ve indirilen excel dokümanının başka bir mecrada ya da ortamda kullanılması halinde alındığı yer adının belirtilmesini rica ederim.
Saygılarımla.
Yararlanılan Kaynaklar
- Bulut T (2018) A new multi criteria decision making method: approach of logarithmic concept (APLOCO). Int J Artif Intell Appl 9:15–33. https://doi.org/10.5121/ijaia.2018.9102
- https://arxiv.org/abs/1802.04095
- The R Project for Statistical Computing. https://www.r-project.org/
- Microsoft Excel 2016, Microsoft