What Should I Brew Today?

Questa è probabilmente la funzionalità più utile ma anche più complessa di BrewDay, motivo per cui abbiamo deciso di lasciarla per ultima e fin da subito non eravamo sicuri se saremmo riusciti ad implementarla, principalmente per motivi di tempo.

What Should I Brew Today ci è infatti costata un giorno di ritardo nella consegna del progetto, e purtroppo non è ancora perfetta.

Essa consiste nella possibilità da parte del Birraio di chiedere al sistema quale Ricetta produrre e fruire di un suggerimento automatico. Le specifiche del testo originale del progetto SCORE non sono particolarmente chiare a riguardo, perchè suggeriscono semplicemente di suggerire la Ricetta per cui è ossibile produrre la quantità massima di Birra.

É facilmente intuibile che questo non sia un metodo di scelta particolarmente efficiente e abbiamo pensato quindi di migliorare il criterio, seppur per ora non in maniera particolarmente strabiliante.

Nello specifico abbiamo voluto non rifarci semplicemente alla quantità massima di birra prodotta, concetto un po' fumoso, bensì alla quantità massima di birra giornaliera prodotta dal risultato di una Produzione. Niente di stratosferico, poiché si tratta semplicemente di una piccola aggiunta che non solo considera la quantità finale prodotta, bensì sceglie la Ricetta che impiega meno tempo a produrre tale quantità: il rapporto quantità / tempo di fermentazione.

Ciò ci ha permesso di costruire un algoritmo di per sé abbastanza intelligente e sinceramente nemmeno troppo facile da testare. L'algoritmo deve infatti tenere conto di più cose:

  • composizione delle Ricette
  • durata di fermentazione di ogni Ricetta
  • Scorte a disposizone del Birraio, non scadute e di quantità sufficiente a produrre la Ricetta che di volta in volta si va ad esaminare
  • Strumentazione a disposizione del Birraio (fermentatori, bollitori e tubi) e loro capacità massima

Da un insieme di questi quattro fattori siamo riusciti a tirar fuori un algoritmo a nostro parere anche abbastanza efficiente.


Miglioramenti

Come accennavamo all'inizio, il nostro What Should I Brew Today non è perfetto. Per essere tale, esso dovrebbe tenere conto di altri due fattori fondamentali:

  • Scorte di Ingredienti in scadenza
  • prezzo di tali Ingredienti

Aggiungendo un controllo aggiuntivo su questi due fattori, l'algoritmo decisionale potrebbe davvero raggiungere la perfezione. Purtroppo tenere conto anche di questi non è facile e abbiamo preferito non complicare troppo l'algoritmo, per evitare che possano generarsi bug o malfunzionamenti molto difficili da scovare e testare.

results matching ""

    No results matching ""