Neler Yeni

Python Programlama Dili ile yaptığım çalışmada Fonksiyonu çalıştıramıyorum

Katılım
2 Mart 2022
Mesajlar
2
Dahası  
Reaksiyon skoru
1
İsim
Ezgi
Oluşturduğum kodda fonksiyonu def ile daha önce tanımlamıştım. Tanımladığım fonksiyonu, kod dizisinin en sonunda elde ettiğim aday popülasyon listesinin içindeki elemanlar için çalıştırmak istiyorum fakat fonksiyonu çağırdığımda elde etmek istediğim değerleri getirmiyor. İlgilenen olursa kendimi daha net ifade eder yazarım.
Python:
NP = int(input("Popülasyon büyüklüğünü giriniz:"))
print("NP:",NP)

F = float(input("Ölçek faktörünü giriniz:"))
print("F:",F)

CR = float(input("Çaprazlama oranını giriniz:"))
print("CR:",CR)

#Satırlar arası ve makineler arası gereken boşluk
gm = 2
gr = 2

#Satır sayısı
r=5

#ürün sayısı makine sayısı ve makinelerin genişlik uzunluklarının okunması

ezgi_dosya = open("C:/Users/kullanici/Desktop/Test Problemleri/test_1.txt","r",encoding="utf-8")
for i in range(0,4):
    line=ezgi_dosya.readline()
    if i==1:n=int(line) #ürün sayısı
    if i==3:m=int(line) #makine sayısı

while line.find("n w  l")==-1:
    line=ezgi_dosya.readline()
genıslık_uzunluk={}

while 1:
    line=ezgi_dosya.readline()
    if line.find("bitti")!=-1:
        break
    (n,w,l)=line.split()
    genıslık_uzunluk[int(n)]=(float(w),float(l))
ezgi_dosya.close()
print(genıslık_uzunluk)
(w,l)=genıslık_uzunluk[1]
#print(genıslık_uzunluk[1])
genıslık=[]
uzunluk=[]
for i in range(m):
    (w,l)=genıslık_uzunluk[i+1]
    genıslık.append(w)
    uzunluk.append(l)
print("urun_genislik:",genıslık)
print("urun_uzunluk:",uzunluk)

#ürün rotalarınınokunması

ezgi_dosya2=open("C:/Users/kullanici/Desktop/Test Problemleri/test_1_rota.txt","r",encoding="utf-8")
satir=ezgi_dosya2.readline()
while satir.find("başla")==-1:
    satir=ezgi_dosya2.readline()
urunno_rota={}
while 1:
    satir = ezgi_dosya2.readline()
    if satir.find("bitti")!=-1:
        break
    satir=satir[:-1]
    liste1=satir.split(",")
    x=len(liste1)
    urunno_rota[int(liste1[0])]=liste1[1:x]
print(urunno_rota)
#print(liste1)
#print(urunno_rota[(1)])
ezgi_dosya2.close()
urun_no=[]
urun_rota=[]
for i in  urunno_rota.keys():
    urun_no.append(i)
print("urun_no:",urun_no)
for i in urunno_rota.values():
    urun_rota.append(i)
print("urun_rota:",urun_rota)
#print(urun_rota[0])

print("**************************************************************************************")
#başlangıç çözüm oluşturma

import random
populasyon = []
for i in range(0,NP):
    brey = []
    for j in range(1,m+1):
        brey.append("{:.4f}".format(random.uniform(1, r + 1)))
    #print(brey)
    populasyon.append(brey)
print("populasyon:",populasyon)
print("**************************************************************************************")
#birinci amaç fonksiyonu bulma

length=[]
depth=[]
satır_genislik_maximum=[]
def amac_bir(i):
    satır_liste = []
    satır_liste_uzunluk=[]
    for h in range(0, r):
        satır_liste.append([])
        satır_liste_uzunluk.append([])
    for j in range(0, m):
        for k in range(0, r):
            if populasyon[i][j][0] == str(k + 1):
                satır_liste[k].append(genıslık[j])
                satır_liste[k].sort(reverse=True)
                satır_liste_uzunluk[k].append(uzunluk[j])
    #print("genislik:",satır_liste)
    #print("uzunluk:",satır_liste_uzunluk)
    satır_genislik=[]
    for k in range(0,r):
        satır_genislik.append(satır_liste[k][:1])
        satır_genislik_maximum.append(satır_liste[k][:1])
    #print("satırların max genişliği:",satır_genislik)
    genislik_toplam=0
    for i in range(0,r):
        for j in range(0,len(satır_genislik[i])):
            genislik_toplam+=satır_genislik[i][j]
    #print("toplam genislik:",genislik_toplam)
    genislik_toplam=genislik_toplam+(gr*(r-1))
    #print("toplam genislik:", genislik_toplam)
    uzunluk_liste = []
    for j in range(0,r):
        toplam = 0
        for i in range(0,len(satır_liste_uzunluk[j])):
            toplam+=satır_liste_uzunluk[j][i]
        toplam=toplam+(gm*(len(satır_liste_uzunluk[j])-1))
        uzunluk_liste.append(toplam)
        uzunluk_liste.sort(reverse=True)
    #print(uzunluk_liste)
    uzunluk_toplam=uzunluk_liste[:1]
    #print("uzunluk toplam:",uzunluk_toplam)

    length.append(uzunluk_toplam[0])
    depth.append(genislik_toplam)

for i in range(0,NP):
    amac_bir(i)

print("length:",length)
print("depth:",depth)
#print("genişlik",satır_genislik_maximum)

alan=[]
for i in range(0,NP):
    alan.append(length[i]*depth[i])
print("alan:",alan)

print("***********************************************************")
#ikinci amaç fonksiyounu bulma

pop_dayalı_urun_akıs_mal=[]

def amac_iki(i):
    satır_liste = []
    for h in range(0, r):
        satır_liste.append([])
    for j in range(0, m):
        for k in range(0,r):
            if populasyon[i][j][0] == str(k+1):
                satır_liste[k].append(populasyon[i][j])
                satır_liste[k].sort()
    print("satırlara atanan populasyonlar:",satır_liste)
    sıralı_genislik=[]
    sıralı_uzunluk=[]
    sıralı_makine=[]
    for h in range(0,r):
        sıralı_genislik.append([])
        sıralı_uzunluk.append([])
        sıralı_makine.append([])
    for j in range(0,r):
        for l in range(0,len(satır_liste[j])):
            for k in range(0,m):
                if satır_liste[j][l]==populasyon[i][k]:
                    sıralı_genislik[j].append(genıslık[k])
                    sıralı_uzunluk[j].append(uzunluk[k])
                    sıralı_makine[j].append(genıslık_uzunluk[(k+1)])
    print("genişlikler sıralı:",sıralı_genislik)
    print("uzunluklar sıralı:", sıralı_uzunluk)
    print("makineler sıralı:", sıralı_makine)

    for i in range(0,r):
        for j in range(0,len(sıralı_uzunluk[i])):
            sıralı_uzunluk[i][j]=float(sıralı_uzunluk[i][j])

    for i in range(0,len(urun_no)):
        for j in range(0,len(urun_rota[i])):
            urun_rota[i][j]=int(urun_rota[i][j])

    satır_uzunluk=[]
    for i in range(0,r):
        satır_uzunluk.append([])
    #print(satır_uzunluk)
    for j in range(0,r):
        toplam = 0
        for i in range(0,len(sıralı_uzunluk[j])):
            toplam+=sıralı_uzunluk[j][i]
        toplam=toplam + ((len(sıralı_uzunluk[j])-1) * gm)
        satır_uzunluk[j].append(toplam)
        #print(toplam)
    print("satırların uzunluğu:",satır_uzunluk)
    satır_genislik_maximum=[]
    for i in range(0,r):
        sıralı_genislik[i].sort(reverse=True)
        if sıralı_genislik[i]!=[]:
            satır_genislik_maximum.append(sıralı_genislik[i][:1])
        else:
            satır_genislik_maximum.append([])
    #print(satır_genislik_maximum)
    print("satırların genişliği:", satır_genislik_maximum)
    print("******************************************************************")
    # print(type(urun_rota[0][0]))
    akıs_liste = []
    for i in range(0, len(urun_rota)):
        akıs_liste.append([])
    # print(liste)
    def urun_akıs(k):
        for h in range(0, len(urun_rota[k])):
            akıs_liste[k].append(uzunluk[urun_rota[k][h] - 1])
            # akıs_liste[k].append(uzunluk[urun_rota[k][h + 1] - 1])
    for k in range(0, len(urun_no)):
        urun_akıs(k)
    print("ürünlerin akış sırasındaki makine uzunluğu:",akıs_liste)
    print("*************************************************************")
    urun_akıs_maliyet = []
    toplam_aynı_satır = []
    for i in range(0, len(urun_no)):
        toplam_aynı_satır.append([])
    toplam_farklı = []
    for i in range(0, len(urun_no)):
        toplam_farklı.append([])
    toplam_farklı_sağ = []
    for i in range(0, len(urun_no)):
        toplam_farklı_sağ.append([])
    toplam_min = []
    for i in range(0, len(urun_no)):
        toplam_min.append([])
    #print(toplam_min)
    for k in range(0, len(akıs_liste)):
        #print("k:", k)
        #print(akıs_liste[k])
        for l in range(0, len(akıs_liste[k]) - 1):
            for e in range(0, len(akıs_liste[k])):
                if e - l == 1:
                    #print("l:", l)
                    #print("e:", e)
                    #print("kl:", akıs_liste[k][l])
                    #print("ke:", akıs_liste[k][e])
                    # print(akıs_liste[k][l])
                    # print(akıs_liste[k][e])
                    for s in range(0, len(sıralı_uzunluk)):
                        for h in range(0, len(sıralı_uzunluk)):
                            if s == h:
                                if akıs_liste[k][l] in sıralı_uzunluk[s] and akıs_liste[k][e] in sıralı_uzunluk[h]:
                                    #print("a:", akıs_liste[k][l])
                                    a = sıralı_uzunluk[s].index(akıs_liste[k][l])
                                    #print("a:", a)
                                    #print("b", akıs_liste[k][e])
                                    b = sıralı_uzunluk[h].index(akıs_liste[k][e])
                                    #print("b:", b)
                                    if a > b:
                                        a, b = b, a
                                        toplam = 0
                                        for t in range(a, b + 1):
                                            toplam += sıralı_uzunluk[s][t]
                                        toplam = toplam - (akıs_liste[k][l] / 2 + akıs_liste[k][e] / 2)
                                        toplam = toplam + (abs(a - b) * gm)
                                        #print("toplam:", toplam)
                                        toplam_aynı_satır[k].append(toplam)
                                    else:
                                        toplam = 0
                                        for t in range(a, b + 1):
                                            toplam += sıralı_uzunluk[s][t]
                                        toplam = toplam - (akıs_liste[k][l] / 2 + akıs_liste[k][e] / 2)
                                        toplam = toplam + (abs(a - b) * gm)
                                        #print("toplam:", toplam)
                                        toplam_aynı_satır[k].append(toplam)
                            else:
                                if akıs_liste[k][l] in sıralı_uzunluk[s] and akıs_liste[k][e] in sıralı_uzunluk[h]:
                                    #print("a:", akıs_liste[k][l])
                                    a = sıralı_uzunluk[s].index(akıs_liste[k][l])
                                    #print("a:", a)
                                    #print("b:", akıs_liste[k][e])
                                    b = sıralı_uzunluk[h].index(akıs_liste[k][e])
                                    #print("b:", b)
                                    if a == 0 and b == 0:
                                        if s < h:
                                            toplam = akıs_liste[k][l] / 2 + akıs_liste[k][e] / 2
                                            toplam_sağ = (satır_uzunluk[s][0] - akıs_liste[k][l] / 2) + (
                                                        satır_uzunluk[h][0] - akıs_liste[k][e] / 2)
                                            toplam1 = 0
                                            for t in range(s + 1, h + 1):
                                                if len(satır_genislik_maximum[t]) == 0:
                                                    satır_genislik_maximum[t].append(0)
                                                toplam1 += satır_genislik_maximum[t][0]
                                            toplam1 = toplam1 + (abs(h - s) * gr)
                                            toplam = toplam + toplam1
                                            #print("toplam:", toplam)
                                            toplam_sağ = toplam_sağ + toplam1
                                            #print("toplam sağ:", toplam_sağ)
                                            toplam_farklı[k].append(toplam)
                                            toplam_farklı_sağ[k].append(toplam_sağ)
                                        else:
                                            toplam = akıs_liste[k][l] / 2 + akıs_liste[k][e] / 2
                                            toplam_sağ = (satır_uzunluk[s][0] - akıs_liste[k][l] / 2) + (
                                                        satır_uzunluk[h][0] - akıs_liste[k][e] / 2)
                                            toplam1 = 0
                                            for t in range(h + 1, s + 1):
                                                if len(satır_genislik_maximum[t]) == 0:
                                                    satır_genislik_maximum[t].append(0)
                                                toplam1 += satır_genislik_maximum[t][0]
                                            toplam1 = toplam1 + (abs(h - s) * gr)
                                            toplam = toplam + toplam1
                                            #print("toplam:", toplam)
                                            toplam_sağ = toplam_sağ + toplam1
                                            #print("toplam sağ:", toplam_sağ)
                                            toplam_farklı[k].append(toplam)
                                            toplam_farklı_sağ[k].append(toplam_sağ)
                                    elif a == 0 and b != 0:
                                        if s < h:
                                            toplam = akıs_liste[k][l] / 2
                                            toplam_sağ = satır_uzunluk[s][0] - akıs_liste[k][l] / 2
                                            toplam_b = 0
                                            for t in range(0, b):
                                                toplam_b += sıralı_uzunluk[h][t]
                                            toplam_b = toplam_b + akıs_liste[k][e] / 2 + (b * gm)
                                            toplam_b_sağ = satır_uzunluk[h][0] - toplam_b
                                            toplam = toplam + toplam_b
                                            toplam_sağ = toplam_sağ + toplam_b_sağ
                                            toplam1 = 0
                                            for t in range(s + 1, h + 1):
                                                if len(satır_genislik_maximum[t]) == 0:
                                                    satır_genislik_maximum[t].append(0)
                                                toplam1 += satır_genislik_maximum[t][0]
                                            toplam1 = toplam1 + (abs(h - s) * gr)
                                            toplam = toplam + toplam1
                                            #print("toplam:", toplam)
                                            toplam_sağ = toplam_sağ + toplam1
                                            #print("toplam sağ:", toplam_sağ)
                                            toplam_farklı[k].append(toplam)
                                            toplam_farklı_sağ[k].append(toplam_sağ)
                                        else:
                                            toplam = akıs_liste[k][l] / 2
                                            toplam_sağ = satır_uzunluk[s][0] - akıs_liste[k][l] / 2
                                            toplam_b = 0
                                            for t in range(0, b):
                                                toplam_b += sıralı_uzunluk[h][t]
                                            toplam_b = toplam_b + akıs_liste[k][e] / 2 + (b * gm)
                                            toplam_b_sağ = satır_uzunluk[h][0] - toplam_b
                                            toplam = toplam + toplam_b
                                            toplam_sağ = toplam_sağ + toplam_b_sağ
                                            toplam1 = 0
                                            for t in range(h + 1, s + 1):
                                                if len(satır_genislik_maximum[t]) == 0:
                                                    satır_genislik_maximum[t].append(0)
                                                toplam1 += satır_genislik_maximum[t][0]
                                            toplam1 = toplam1 + (abs(h - s) * gr)
                                            toplam = toplam + toplam1
                                            #print("toplam:", toplam)
                                            toplam_sağ = toplam_sağ + toplam1
                                            #print("toplam sağ:", toplam_sağ)
                                            toplam_farklı[k].append(toplam)
                                            toplam_farklı_sağ[k].append(toplam_sağ)
                                    elif a != 0 and b == 0:
                                        if s < h:
                                            toplam = akıs_liste[k][e] / 2
                                            toplam_sağ = satır_uzunluk[h][0] - akıs_liste[k][e] / 2
                                            # print("sağ",toplam_sağ)
                                            toplam_a = 0
                                            for t in range(0, a):
                                                toplam_a += sıralı_uzunluk[s][t]
                                            toplam_a = toplam_a + (akıs_liste[k][l] / 2) + (a * gm)
                                            toplam_a_sağ = satır_uzunluk[s][0] - toplam_a
                                            # print("sağ",toplam_a_sağ)
                                            toplam = toplam + toplam_a
                                            toplam_sağ = toplam_sağ + toplam_a_sağ
                                            # print("sağ",toplam_sağ)
                                            toplam1 = 0
                                            for t in range(s + 1, h + 1):
                                                if len(satır_genislik_maximum[t]) == 0:
                                                    satır_genislik_maximum[t].append(0)
                                                toplam1 += satır_genislik_maximum[t][0]
                                            toplam1 = toplam1 + (abs(h - s) * gr)
                                            toplam = toplam + toplam1
                                            #print("toplam:", toplam)
                                            toplam_sağ = toplam_sağ + toplam1
                                            #print("toplam sağ:", toplam_sağ)
                                            toplam_farklı[k].append(toplam)
                                            toplam_farklı_sağ[k].append(toplam_sağ)
                                        else:
                                            toplam = akıs_liste[k][e] / 2
                                            toplam_sağ = satır_uzunluk[h][0] - akıs_liste[k][e] / 2
                                            # print("sağ",toplam_sağ)
                                            toplam_a = 0
                                            for t in range(0, a):
                                                toplam_a += sıralı_uzunluk[s][t]
                                            toplam_a = toplam_a + (akıs_liste[k][l] / 2) + (a * gm)
                                            toplam_a_sağ = satır_uzunluk[s][0] - toplam_a
                                            # print("sağ",toplam_a_sağ)
                                            toplam = toplam + toplam_a
                                            toplam_sağ = toplam_sağ + toplam_a_sağ
                                            # print("sağ",toplam_sağ)
                                            toplam1 = 0
                                            for t in range(h + 1, s + 1):
                                                if len(satır_genislik_maximum[t]) == 0:
                                                    satır_genislik_maximum[t].append(0)
                                                toplam1 += satır_genislik_maximum[t][0]
                                            toplam1 = toplam1 + (abs(h - s) * gr)
                                            toplam = toplam + toplam1
                                            #print("toplam:", toplam)
                                            toplam_sağ = toplam_sağ + toplam1
                                            #print("toplam sağ:", toplam_sağ)
                                            toplam_farklı[k].append(toplam)
                                            toplam_farklı_sağ[k].append(toplam_sağ)
                                    elif a != 0 and b != 0:
                                        if s < h:
                                            toplam_a = 0
                                            for t in range(0, a):
                                                toplam_a += sıralı_uzunluk[s][t]
                                            toplam_a = toplam_a + (akıs_liste[k][l] / 2) + (a * gm)
                                            toplam_a_sağ = satır_uzunluk[s][0] - toplam_a
                                            toplam_b = 0
                                            for t in range(0, b):
                                                toplam_b += sıralı_uzunluk[h][t]
                                            toplam_b = toplam_b + (akıs_liste[k][e] / 2) + (b * gm)
                                            toplam_b_sağ = satır_uzunluk[h][0] - toplam_b
                                            toplam = toplam_a + toplam_b
                                            toplam_sağ = toplam_a_sağ + toplam_b_sağ
                                            toplam1 = 0
                                            for t in range(s + 1, h + 1):
                                                if len(satır_genislik_maximum[t]) == 0:
                                                    satır_genislik_maximum[t].append(0)
                                                toplam1 += satır_genislik_maximum[t][0]
                                            toplam1 = toplam1 + (abs(h - s) * gr)
                                            toplam = toplam + toplam1
                                            #print("toplam:", toplam)
                                            toplam_sağ = toplam_sağ + toplam1
                                            #print("toplam sağ:", toplam_sağ)
                                            toplam_farklı[k].append(toplam)
                                            toplam_farklı_sağ[k].append(toplam_sağ)
                                        else:
                                            toplam_a = 0
                                            for t in range(0, a):
                                                toplam_a += sıralı_uzunluk[s][t]
                                            toplam_a = toplam_a + (akıs_liste[k][l] / 2) + (a * gm)
                                            toplam_a_sağ = satır_uzunluk[s][0] - toplam_a
                                            toplam_b = 0
                                            for t in range(0, b):
                                                toplam_b += sıralı_uzunluk[h][t]
                                            toplam_b = toplam_b + (akıs_liste[k][e] / 2) + (b * gm)
                                            toplam_b_sağ = satır_uzunluk[h][0] - toplam_b
                                            toplam = toplam_a + toplam_b
                                            toplam_sağ = toplam_a_sağ + toplam_b_sağ
                                            toplam1 = 0
                                            for t in range(h + 1, s + 1):
                                                if len(satır_genislik_maximum[t]) == 0:
                                                    satır_genislik_maximum[t].append(0)
                                                toplam1 += satır_genislik_maximum[t][0]
                                            toplam1 = toplam1 + (abs(h - s) * gr)
                                            toplam = toplam + toplam1
                                            #print("toplam:", toplam)
                                            toplam_sağ = toplam_sağ + toplam1
                                            #print("toplam sağ:", toplam_sağ)
                                            toplam_farklı[k].append(toplam)
                                            toplam_farklı_sağ[k].append(toplam_sağ)
    for i in range(0, len(toplam_farklı)):
        for j in range(0, len(toplam_farklı[i])):
            if toplam_farklı[i][j] <= toplam_farklı_sağ[i][j]:
                toplam_min[i].append(toplam_farklı[i][j])
            else:
                toplam_min[i].append(toplam_farklı_sağ[i][j])
    # print("min toplam:", toplam_min)
    for i in range(0, len(urun_no)):
        for j in range(0, len(toplam_aynı_satır[i])):
            if len(toplam_aynı_satır[i]) != 0:
                toplam_min[i].append(toplam_aynı_satır[i][j])
    # print("min toplam:", toplam_min)
    for k in range(0, len(toplam_min)):
        toplam = 0
        for j in range(0, len(toplam_min[k])):
            toplam += toplam_min[k][j]
        #print(toplam)
        urun_akıs_maliyet.append(toplam)
    print("aynı satır:", toplam_aynı_satır)
    print("farklı satır:", toplam_farklı)
    print("farklı satır sağ:", toplam_farklı_sağ)
    print("min toplam:", toplam_min)
    print("ürünlerin akış maliyeti:", urun_akıs_maliyet)
    pop_dayalı_urun_akıs_mal.append(urun_akıs_maliyet)
for i in range(0,NP):
    amac_iki(i)
print("*************************************************************************")
print("tüm populasyonların ürün akış maliyeti:",pop_dayalı_urun_akıs_mal)
#normalleştirme
urun_akıs_mal=[]
def akıstoplam(j):
    toplam=0
    for i in range(0,len(urun_no)):
        toplam+=pop_dayalı_urun_akıs_mal[j][i]
    urun_akıs_mal.append(toplam)
for j in range(0,NP):
    akıstoplam(j)
print("toplam urun akıs maliyeti:",urun_akıs_mal)
Fmax=[]
Fmin=[]
Amax=[]
Amin=[]
def max_min_bulma(i):
    Fmax.append(max(urun_akıs_mal))
    Fmin.append(min(urun_akıs_mal))
    Amax.append(max(alan))
    Amin.append(min(alan))
for i in range(0,NP):
    max_min_bulma(i)
print("fmax:",Fmax)
print("fmin:",Fmin)
print("amax:",Amax)
print("amin:",Amin)
normallesmis_akıs=[]
normallesmis_alan=[]
def norm_akıs_alan(i):
    flow=(urun_akıs_mal[i] - Fmin[0]) / (Fmax[0]-Fmin[0])
    normallesmis_akıs.append(flow)
    norm_alan= (alan[i]-Amin[0]) / (Amax[0]-Amin[0])
    normallesmis_alan.append(norm_alan)
for i in range(0,NP):
    norm_akıs_alan(i)
print("normalleşmiş akış:",normallesmis_akıs)
print("normalleşmiş alan:",normallesmis_alan)
normallesmis_amac=[]
def normal_amac(i):
    amac=normallesmis_akıs[i]+normallesmis_alan[i]
    normallesmis_amac.append(amac)
for i in range(0,NP):
     normal_amac(i)
print("normalleşmiş amaç:",normallesmis_amac)
print("***************************************************************************")
#Mutasyon evresi
from random import sample
import random
mutant_populasyon=[]
aday_popuplasyon=[]
def mutasyon(i):
    mutant_populasyon.append([])
    aday_popuplasyon.append([])
    aday=list(range(0,NP))
    #print("aday:",aday)
    aday.remove(i)
    #print("aday:", aday)
    rasgele_index = sample(aday, 3)
    #print("rasgele index:",rasgele_index)
    XA = populasyon[rasgele_index[0]]
    XB = populasyon[rasgele_index[1]]
    XC = populasyon[rasgele_index[2]]
    #print("XA:", XA)
    #print("XB:",XB)
    #print("XC:",XC)
    for j in range(0,len(populasyon[i])):
        XA[j] = float(XA[j])
        XB[j] = float(XB[j])
        XC[j] = float(XC[j])
        mutasyon= XA[j] + F*(XB[j]-XC[j])
        mutant_populasyon[i].append(mutasyon)
        # Çaprazlama evresi
        rassal= random.random()
        #print("rassal:",rassal)
        k= random.randint(0,m)
        #print("k:",k)
        if rassal <= CR or k==j:
            aday_popuplasyon[i].append(mutant_populasyon[i][j])
        else:
            aday_popuplasyon[i].append(populasyon[i][j])
        # Kendime göre adayı düzenleme
        aday_popuplasyon[i][j] = float(aday_popuplasyon[i][j])
        if aday_popuplasyon[i][j] < 0:
            aday_popuplasyon[i][j] = aday_popuplasyon[i][j] * (-1)
        aday_popuplasyon[i][j] = str(aday_popuplasyon[i][j])
        if aday_popuplasyon[i][j][0] == "0":
            aday_popuplasyon[i][j] = float(aday_popuplasyon[i][j])
            aday_popuplasyon[i][j] = aday_popuplasyon[i][j] + 1
        aday_popuplasyon[i][j] = float(aday_popuplasyon[i][j])
        if aday_popuplasyon[i][j] >= r + 1:
            aday_popuplasyon[i][j] = str(aday_popuplasyon[i][j])
            a = aday_popuplasyon[i][j][0]
            a = int(a)
            aday_popuplasyon[i][j] = float(aday_popuplasyon[i][j])
            aday_popuplasyon[i][j] = aday_popuplasyon[i][j] - abs(a - r)
for i in range(0,NP):
    mutasyon(i)
print("mutant populasyon:",mutant_populasyon)
print("aday populasyon:",aday_popuplasyon)
baslangıc_alan=[]
baslangıc_akısmal=[]
baslangıc_normallesmisamac=[]
for i in range(0,NP):
    baslangıc_alan.append(alan[i])
    baslangıc_akısmal.append(urun_akıs_mal[i])
    baslangıc_normallesmisamac.append(normallesmis_amac[i])
print("ilk çözümün alanı:",baslangıc_alan)
print("ilk çözümün akış maliyeti:",baslangıc_akısmal)
print("ilk çözümün normalleştirilmiş amaç fonksiyon değeri:",baslangıc_normallesmisamac)
 

Star trek

80+ Silver
Katılım
1 Temmuz 2020
Mesajlar
2,200
Dahası  
Reaksiyon skoru
951
İsim
Mehmet bozan
Function'u başa al dene. İmport satırıda en başta olmalı diye biliyorum.
 
Katılım
2 Mart 2022
Mesajlar
2
Dahası  
Reaksiyon skoru
1
İsim
Ezgi
  • Konu Sahibi Konu Sahibi
  • #3
Function'u başa al dene. İmport satırıda en başta olmalı diye biliyorum.
Fonksiyonum ilk satırlardaki gelen verilere göre çalışıyor kodlamada yukarıdan aşağıya çalıştırmaz mı acaba teşekkür ederim tavsiyen için deneyeceğim
 

Star trek

80+ Silver
Katılım
1 Temmuz 2020
Mesajlar
2,200
Dahası  
Reaksiyon skoru
951
İsim
Mehmet bozan
Hata bildiriminde ne diyor?
 

Jokester

80+ Bronze
Katılım
19 Ocak 2022
Mesajlar
822
ilk olarak hata ne?
ikinci olarak bu tarz sorulara en iyi cevabı stackoverflow da bulursun.
 
Top Bottom