i D S e e . n e t - Formul@ 0ne Strategy Optimizer
Di Admin (del 26/05/2006 @ 12:41:41, in F0so, linkato 659 volte)
| |
| F0SO - Formul@ 0ne Strategy Optimizer |
| |
|
Cosa e' F0SO
Da grande appassionato di competizioni ed in particolare di F1 e lavorando nel settore dell'IT, mi sono spesso domandato come queste due passioni
potessero convergere in qualcosa di interessante (almeno per me).
A questo si aggiunge una ciclica amarezza (stranamente questo sentimento occorre proprio durante le domeniche in cui si corre un gp...) nel costatare le quantomeno discutibili strategie adottate
dai team che seguo con affetto (japan-oriented).
Da questi presupposti nasce l'idea di un analizzatore di strategie per le competizioni motoristiche, in particolare quelle in cui sono previsti dei pit-stop mirati
al cambio gomme e al rifornimento di carburante.
Il nome F0SO altri non e' che un acronimo per l'altisonante definizione Formul@ 0ne Strategy Optimizer, anche perche' credo che ognuno abbia diritto al proprio quarto d'ora di megalomania!
La @ finale su Formul@ e lo zero su 0ne sono doverosi per evitare che il caro Bernie mi chieda $$$ di royalties per aver usato il nome... non si sa mai!
|
|
Come funziona F0SO
F0SO e' un'applicazione compilata in C#; per il suo funzionamento ha bisogno di alcuni files di configurazione in formato XML che definiscono i parametri dei circuiti,
la configurazione delle squadre, le tipologie delle gomme, etc etc.
L'applicazione a runtime verifica i suddetti files, li carica e si inizializza.
|
|
Principio di funzionamento
Il principio di funzionamento di F0SO si basa sul fatto che per vincere una corsa, da un punto di vista prettamente teorico e trascurando per il momento ingressi di
safety car, doppiaggi di auto lente, sorpassi impossibili o condizioni al contorno, e' necessario coprire la distanza prevista nel minor tempo possibile.
[Fanno eccezione in questo caso eventi come la 24 ore di Le Mans o la 12 ore di Sebring dove vince chi percorre piu' giri nel tempo a disposizione.]
|
|
F0SO: analisi
Iniziamo molto semplicemente con il dire che il tempo totale di gara (il pilota che riesce a tenere piu' basso questo valore vince la gara) e' dato da:

dove e' il tempo complessivo di gara, e' il numero totale dei giri e il tempo ideale sul giro. Ovviamente, a questo primo livello di approssimazione,
si considera che un pilota sia in grado di girare con lo stesso ritmo per tutta la durata della corsa e che le prestazioni e l'affidabilita' della meccanica siano costanti
nonche' gli imprevisti in pista siano assenti, ma piu' avanti terremo bene in considerazione queste variabili.
Il tempo ideale, però, per sua stessa natura, non tiene in cosiderazione le varibili necessarie a descrivere, pur con le dovute approssimazioni, il decadimento delle
prestazioni delle gomme, il consumo di benzina, la conformazione del tracciato e tutto il resto.
Miglioriamo la precedente equazione:

dove con il termine viene indicato il tempo reale mentre con lo scostamento del giro g-esimo dal tempo ideale in cosiderazione di quanto ancora non considerato.
Raffinando ancora di poco il calcolo del tempo sul giro, possiamo considerare che il peso della benzina che via via diminuisce, abbassi il tempo sul giro, come anche il fatto che questo handicap di peso
influisca in misura diversa in relazione alla tipologia di tracciato:

in questa terza equazione sono comparsi i termini per la valutazione del consumo di benzina e conseguentemente dell'handicap dovuto al suo peso,
Essendo M la massa dell'auto e mg la massa del carburante, il termine (M/M+mg), vale 1 quando la macchina e' scarica di benzina. e' il fattore che specifica quanto l'unita' di carburante sia penalizzante in relazione al circuito.
Fino ad ora, le correzioni dovute alle nuove grandezze considerate, hanno variato il tempo reale sul giro in modo lineare che, per adesso, approssima ad un livello accettabile quanto stiamo ricercando.
Quando parliamo di variazione delle prestazioni delle gomme, però, l'andamento delle performance non varia in modo lineare; posto naturalmente che contribuisce in modo evidente come il pilota utilizzi le
coperture nei primissimi chilometri di utilizzo, si assiste ad un comportamento di questo tipo: i primi 4/5 km (corrispondenti al primo, massimo due giri) ad altissime prestazioni che si tradcono in alta aderenza,
seguiti da un intervallo di 15/20 giri a resa costante per poi ricominciare con un lieve peggioramento nella risposta.
E' evidente che un fattore correttivo lineare non può riprodurre quanto desiderato.
Per questo motivo, nel considerare la resa delle gomme durante tutta la gara, ma in particolare all'interno di uno stint (ognuna delle frazioni di gara genarate dalla fermata ai box per il rifornimento ed il cambio gomme)
e' opportuno organizzare le correzioni alla resa teorica della gomma in una struttura dati adatta, come un array.
Ecco allora che usufruendo anche di questo nuovo fattore, possiamo correggere la precedente equazione con il contributo delle gomme:

Si nota subito che e' il nuovo termine aggiunto alla equazione.
Alla luce di quanto anche prima esposto, cioe' di come un pilota utilizzi le gomme durante i primi giri, ma anche di possibili lotti difettosi, errate pressioni di gonfiaggio ed altro, ho ritenuto sensato considerare anche
queste possibilita' correggendo di poco quanto sopra:

dove si e' aggiunto rispetto a prima .
Bene, fino ad ora si e' calcolato il tempo reale di un giro come scostamento rispetto al tempo ideale (quello calcolato dai supercomputer di ogni team come tempo di riferimento...).
La gara, però, e' costituita da n giri.
![T = \sum_{g=1}^n [T_{i} * (1 + \frac {M}{(M + m_{g})} * \epsilon _{n} + \phi _{g} * (1 + \delta))]](foso_images/06.png)
La sommatoria, quindi, viene attuata su tutti i giri previsti dalla gara considerando le approssimazioni e le correzioni di tutti i fattori sino ad ora evidenziati.
Si e' detto, poco sopra, che la gara viene divisa in due o piu' stint a seconda di quanti pit-stop sia conveniente/necessario effettuare durante la gara.
L'equazione precedente, alla luce di questa ultima osservazione diventa:
![T = \sum_{s=1}^m \{ \sum_{g=1}^{n_{s}} [T_{i} * (1 + \frac {M}{(M + m_{g})} * \epsilon _{n} + \phi _{gs} * (1 + \delta))] + t_{p} + \frac{m_{s}}{vr} \}](foso_images/07.png)
Vediamo cosa abbiamo aggiunto in questo ultimo passaggio:
La sommatoria degli s stint su cui articolare la gara.
Il tempo necessario per percorrere la corsia dei box con il limite imposto dalla commissione variabile di gara in gara.
Il tempo necessario per il refuelling che dipende dalla quantita' di benzina imbarcata, visto che la portata di carburante dell'apparato per il rifornimento e' fissata a 12l/s (vr).
Notare che anche due termini precedentemente definiti, adesso sono stati correlati allo stint in esame e non pi all'intera gara (nel caso di un solo stint questi due casi coincidono)
La sommatoria degli n giri dell's-simo stint.
Decadimento delle prestazioni delle gomme al giro n-simo del s-simo stint.
L'equazione suona piu' o meno cosi':
Il tempo totale di gara e' dato dalla sommatoria degli s-stint da 1 a m della somma del tempo di percorrenza della pitlane, del tempo di rifornimento per lo stint s+1 e della sommatoria del g-giro da 1 al giro n dello s-stint del tempo ideale
di percorrenza corretto dai fattori dell'handicap dovuto al peso della benzina e alla conformazione della pista relativa alla benzina imbarcata, al decadimento di prestazioni delle gomme
al giro g-esimo dello stint s-simo e delle condizioni delle gomme.
Quest'ultima equazione per il calcolo del tempo totale di una gara, rappresenta una prima, buona approssimazione di quello che ci serve.
Faccio notare che l'obiettivo ultimo di questa breve analisi e' trovare il MINIMO (T).
Naturalmente, questa equazione viene utilizzata (in una forma piu' articolata) nel codice del programma per fornire il tempo sul giro di ogni pilota;
la precisione del risultato dipende in larga misura dalla accuratezza dei parametri inseriti, quindi diventa necessario curare in modo scrupoloso questo aspetto.
Ripeto che in questa prima parte dello sviluppo non vengono tenuti in considerazioni doppiaggi, safety car, problematiche di sorpasso e tutto quanto e'.... una gara in pista.
Spero di riuscire a costruire qualcosa di via via piu' completo ed interattivo che tenga conto anche della macchina (affidabilita'a', decadimento delle prestazioni in gara, variazione limitaore di giri motore), dei differenti piloti
(inclinazioni, stili di guida, resistenza....), e delle variabili non deterministiche (pioggia, safety car etc etc).
Per il momento abbandono la parte teorica per mettere a disposizione, quanto prima, una prima beta per il download (o forse una webapp online..? mah, vediamo come evolve).
Ringraziando quanti si siano spinti fino a qui nella lettura e prego chiunque volesse aggiungere qualcosa o correggere mie inesattezze di mandarmi una mail all'indirizzo info@idsee.net.
Ringrazio anche il sito www.rogercortesi.com per aver messo a disposizione un equation editor online LaTeX-based.
|
Tutti i marchi, i nomi ed i riferimenti presenti in questa pagina appartengono ai legittimi proprietari.
|
|
|
|
<
|
maggio 2013
|
>
|
L |
M |
M |
G |
V |
S |
D |
| | | 1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
|
|
| |
|
|
|
|
|
|
Ci sono 17 persone collegate
25/05/2013 @ 23.33.33
script eseguito in 47 ms
Totale articoli postati: 233
Totale letture: 434340
Totale commenti: 204
|