Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ## -*- coding: utf-8 -*-
- #"""
- #Spyder Editor
- #
- #This is a temporary script file.
- #"""
- #
- #import numpy as np
- #import itertools
- #import matplotlib.pyplot as plt
- #import scipy.io
- #from itertools import combinations
- #
- #
- #mat = scipy.io.loadmat('Greer_Ruhe_dataset.mat')
- #
- #"""
- #
- #zahtjevi = [4, 2, 3, 1]
- #vrijednosti = [[4, 7, 3, 5], [2, 2, 2, 3], [3, 1, 4, 7]]
- #"""
- #
- #zahtjevi = mat['Cost']
- #vrijednosti = mat['Value']
- #
- #zahtjevi = zahtjevi.tolist()
- #
- #
- #alfa = 0.6
- #budzet = alfa * np.sum(zahtjevi)
- #
- #trenutna_kombinacija = []
- #
- ##result = [seq for i in range(len(zahtjevi), 0, -1) for seq in itertools.combinations(zahtjevi, i)]
- ##result = output = sum([list(map(list, combinations(zahtjevi, i))) for i in range(len(zahtjevi) + 1)], [])
- #
- #def combs(x):
- # return [c for i in range(len(x)+1) for c in combinations(x,i)]
- #
- #result = combs(zahtjevi)
- #
- #
- #print(result)
- ##print("len: " + str(len(vrijednosti)))
- #
- #sume = np.zeros(len(result))
- #
- #print(len(result))
- #
- #counter = 0
- #
- #for i in result:
- # vrijednost = 0
- # for j in i:
- #
- # for a in range(len(result)):
- # idx = zahtjevi.index(j)
- # vrijednost += vrijednosti[a][idx]
- #
- # sume[counter] = vrijednost
- # counter += 1
- #
- #
- #
- #
- #sume.sort()
- #
- #plt.plot(sume)
- # -*- coding: utf-8 -*-
- """
- Spyder Editor
- This is a temporary script file.
- """
- import itertools
- import numpy as np
- import matplotlib.pyplot as plt
- import time
- import scipy.io
- start = time.time()
- '''
- cijena = [4,2,3,1]
- zadovoljstvo = [
- [4,7,3,5],
- [2,2,2,3],
- [3,1,4,7]
- ]
- '''
- #import scipy.io
- #from itertools import combinations
- #
- #
- mat = scipy.io.loadmat('Greer_Ruhe_dataset.mat')
- zadovoljstvo = mat['Cost']
- cijena = mat['Value']
- najbolji = 0
- suma = 0
- best_subset = []
- trosak = []
- sreca = []
- for L in range(0, len(cijena)+1):
- for subset in itertools.combinations(cijena, L):
- if(subset):
- suma = 0
- zadnji = np.cumsum(subset)[-1]
- #if(zadnji<=6):
- #print(subset)
- indeksi = []
- for ind in subset:
- novi_ind = np.where(cijena == ind)
- #print("sdasda:", novi_ind[0][0])
- indeksi.append(novi_ind[0][0])
- #print(indeksi)
- for j in indeksi:
- #print(j)
- for zadov in zadovoljstvo:
- suma = suma + zadov[j]
- #print(zadov[j])
- #print(suma)
- trosak.append(zadnji)
- sreca.append(suma)
- #if (najbolji<suma):
- #najbolji = suma
- #best_subset = subset
- trosak.sort()
- sreca.sort()
- #print(cijena)
- #print(trosak)
- #print(sreca)
- plt.plot(trosak,sreca)
- end = time.time()
- print(end - start)
- #print(najbolji)
- #print(best_subset)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement