Skarso
Forumer attivo
allora il “cromosoma” di ogni individuo è costituito da una stringa di 20 caratteri
la prima parte di lunghezza LLvar1 ( 5 nel caso ) si riferisce a dist1
la seconda parte di lunghezza LLvar2 ( 5 nel caso ) si riferisce a dist2
in 5 caratteri se si adotta la notazione binaria ( 0 – 1 ) si possono avere 32 combinazioni con valori da 0 a 31 in numeri decimali
la terza parte di lunghezza LLvar3 ( 10 nel caso ) si riferisce alle 5 regole, ogni regola occupando 2 caratteri
poiché 2 caratteri danno luogo a 4 valorii tra 0 e 3, mentre a noi per ogni regola servono solo 3 valori
valore = 1 à sell
valore = 2 à flat
valore = 3 à buy
per ricavare il valore sommeremo il contenuto dei 2 bytes
ovviamente si potevano scegliere altre rappresentazioni ma questa sembra abbastanza semplice
si accettano cmq suggerimenti
sotto il codice di inizializzazione:
la prima parte di lunghezza LLvar1 ( 5 nel caso ) si riferisce a dist1
la seconda parte di lunghezza LLvar2 ( 5 nel caso ) si riferisce a dist2
in 5 caratteri se si adotta la notazione binaria ( 0 – 1 ) si possono avere 32 combinazioni con valori da 0 a 31 in numeri decimali
la terza parte di lunghezza LLvar3 ( 10 nel caso ) si riferisce alle 5 regole, ogni regola occupando 2 caratteri
poiché 2 caratteri danno luogo a 4 valorii tra 0 e 3, mentre a noi per ogni regola servono solo 3 valori
valore = 1 à sell
valore = 2 à flat
valore = 3 à buy
per ricavare il valore sommeremo il contenuto dei 2 bytes
ovviamente si potevano scegliere altre rappresentazioni ma questa sembra abbastanza semplice
si accettano cmq suggerimenti
sotto il codice di inizializzazione:
Codice:
'
' FILL TABCROMO
'
LLvar1 = 5 ' dist1
LLvar2 = 5 ' dist2
LLvar3 = 10 ' rules 2 x 5
Ncromo = 20
Nvar = 1: Nmeio = 10
k = 2: LLcromo = Nvar * (LLvar1 + LLvar2 + LLvar3)
'
ReDim Bestx(1 To Nmeio) As Double
ReDim Tabcromo(1 To Ncromo) As Variant
ReDim Limeio(1 To Nmeio) As Variant
'
For i = 1 To Ncromo
Tabcromo(i) = ""
For j = 1 To LLcromo
n = Boule(k)
If n = 0 Then
Tabcromo(i) = Tabcromo(i) + "0"
Else
Tabcromo(i) = Tabcromo(i) + "1"
End If
Next j
Next i
'
For i = 1 To Nmeio
Bestx(i) = -999
Limeio(i) = Tabcromo(i)
Next i
'
'
End Sub