Skip to content

Commit 69227b3

Browse files
committed
wip
1 parent 50cc749 commit 69227b3

File tree

8 files changed

+25
-16
lines changed

8 files changed

+25
-16
lines changed
17 Bytes
Binary file not shown.
-1 Bytes
Binary file not shown.
17 Bytes
Binary file not shown.
293 Bytes
Binary file not shown.

libs/optimizer.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ def optimize(self):
5050
def optimize2(self):
5151
gens_max=10
5252
survivors_factor=3
53-
max_iterations=1000
53+
max_iterations=100
5454

5555
gens = {self.initial_fitness:self.data}
5656

@@ -91,12 +91,12 @@ def optimize2(self):
9191
random.seed(time.clock())
9292
b = random.randint(0,len(winners)-1)
9393
#print("-----crossover winner{} winner{}".format(a,b))
94-
#gen1 = winners[a]
95-
#gen2 = winners[b]
96-
#gen = self.controller.merge(gen1,gen2)
97-
gen = winners[random.randint(0,len(winners)-1)]
94+
gen1 = winners[a]
95+
gen2 = winners[b]
96+
gen = self.controller.merge(gen1,gen2)
97+
#gen = winners[random.randint(0,len(winners)-1)]
9898
self.controller.set_data(copy.deepcopy(gen))
99-
self.controller.add_change()
99+
#self.controller.add_change()
100100
fitness = self.controller.calc_intersections()
101101
gens[fitness] = copy.deepcopy(self.controller.get_placement())
102102
#print("-->crossover {} {}".format(g,fitness))

libs/placement.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ def create_rand_color(self):
1919
return Color(randint(0,255),randint(0,255),randint(0,255))
2020

2121
def create_layers(self):
22-
self.layers = [ [ Node("Node{}{}".format(i,j),self.create_rand_color()) for j in range(randint(2,self.nodes_max)) ] for i in range(self.layers_max) ]
22+
self.layers = [ [ Node("({},{})".format(i,j),self.create_rand_color()) for j in range(randint(2,self.nodes_max)) ] for i in range(self.layers_max) ]
2323

2424
def create_connections(self):
2525
i = 0

libs/placement_controller.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ def merge(self,nodes1,nodes2):
9898

9999

100100
def merge_columns(self,col1,col2):
101-
in_first = set(col1)
101+
in_first = set(col1[:len(col1)])
102102
in_second = set(col2)
103103
in_second_but_not_in_first = in_second - in_first
104104
result = col1 + list(in_second_but_not_in_first)

libs/renderer.py

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@
88
from PyQt4.QtCore import *
99

1010
initial_settings = {
11-
'num_layers' : 21,
12-
'max_nodes_in_layer' : 13,
13-
'min_node_connection' : 0,
11+
'num_layers' : 6,
12+
'max_nodes_in_layer' : 6,
13+
'min_node_connection' : 1,
1414
'max_node_connection' : 1,
1515
}
1616

@@ -19,17 +19,24 @@ class Canvas(QWidget):
1919
def __init__(self, controller, *args, **kwargs):
2020
super(Canvas, self).__init__(*args, **kwargs)
2121
self.controller = controller
22-
self.tx = 50
23-
self.ty = 50
24-
self.dx = 10
25-
self.dy = 10
22+
self.tx = 100
23+
self.ty = 100
24+
self.dx = 50
25+
self.dy = 50
2626
#create placement
2727
self.placement = Placement(**initial_settings)
2828

2929
#set
3030
self.controller.set_data(self.placement.get_data())
3131
self.nodes = self.controller.get_placement()
3232

33+
def keyPressEvent(self, event):
34+
self.placement = Placement(**initial_settings)
35+
self.controller.set_data(self.placement.get_data())
36+
self.nodes = self.controller.get_placement()
37+
QWidget.repaint(self)
38+
39+
3340
def mouseReleaseEvent(self, event):
3441
#optimize placement, using placement controller
3542
optimizer = Optimizer(self.placement,self.controller)
@@ -77,13 +84,15 @@ def draw_node(self,i,j,node):
7784
p.setRenderHint(QPainter.Antialiasing)
7885

7986
r = QRect(self.tx*i+self.dx,self.ty*j+self.dy,20,20)
80-
outer, inner = Qt.gray, color
87+
outer, inner = Qt.black, color
8188
p.fillRect(r, QBrush(inner))
8289
pen = QPen(outer)
8390
pen.setWidth(1)
8491
p.setPen(pen)
8592
p.drawRect(r)
8693

94+
p.drawText(self.tx*i+self.dx,self.ty*j+self.dy,node.get_name())
95+
8796
def draw_connection(self,i,j,node):
8897
di,dj = self.controller.find_ij(node)
8998
#print("drawing connection from (){}{} to ({}){}{}".format(i,j,node.get_name(),di,dj))

0 commit comments

Comments
 (0)