Descrizione del progettoPHP - calcolo matematico Difficile
Il progetto calcola la quantità di cibo un cavallo dovrebbe avere, questo si basa su un enorme numero di variabili. L'utente inserisce le informazioni su ciascun cavallo e i feed preferiti. Ogni mangime ha più tipi di vitamine e sostanze nutritive.
1 cavallo utilizza più tipi di alimentazione.
Quello che abbiamo
Abbiamo il valori minimo e massimo per ogni sostanza nutritiva che la specifica esigenza cavallo.
Abbiamo il contenuto per uno o più tipi diversi di mangime, questo potrebbe essere di circa 20-30 diversi nutrienti e vitamine per mangime. Abbiamo anche il prezzo e vogliamo usarlo per risparmiare denaro.
(Il calcolo è solo per un cavallo al momento)
Esempio
Usiamo A, B e C per rappresentare le sostanze nutritive.
cavallo deve: (A, B, C) MIN (30,7,9) MAX (35,9,17)
Flux 1 contiene: (, B, C) i valori (16,2 , 3)
Il feed 2 contiene: (A, B, C) VALORI (0,4,9)
Una soluzione di lavoro sarebbe 2 * Feed1 e 1 * Feed2.
Problema
Voglio il sistema per calcolare l'equilibrio perfetto in base ai valori min/max per ciascun nutriente, ed ancora mantenere il prezzo più basso possibile.
soluzione
Se ho calcolare l'importo più elevato possibile per ogni alimentazione, sarà possibile rendere casuale fino a quando non sembra funzionare lavoro. E poi l'utente sarà in grado di cambiare gli importi se non è perfetto.
<?php
function randomizerLoop(){
foreach($feeds as $feed){
$max['A'] = floor($horse_max['A']/$feed['A']);
$max['B'] = floor($horse_max['B']/$feed['B']);
$max['C'] = floor($horse_max['C']/$feed['C']);
$maxRand = MIN($max['A'], $max['B'], $max['C']);
$amounts[$feed['id']] = rand(0, $maxRand);
}
return $amounts;
}
?>
Questo codice sarebbe continuare a provare fino a quando non ottenere un equilibrio di lavoro, invece di usare un po 'di freddo calcolo per trovare l'equilibrio al primo tentativo.
Ho solo bisogno di un'idea su come risolverlo senza rand()
.
Maggiori informazioni
Ogni utente sarà in grado di aggiungere il numero infinito di cavalli, ma sarà solo in grado di calcolare per un cavallo al momento (per ora).
Sarà inoltre possibile aggiungere un numero infinito di feed (definiti dall'utente) e ciascun feed potrebbe contenere 20-30 variabili. A seconda della soluzione, questo probabilmente richiederebbe un limite di feed per ogni auto-calcolo.
Ci sarebbero molte combinazioni se usassimo 20 feed diversi, 20-30 variabili per ogni feed, e anche quando definiamo la quantità in int invece che in booleani.
E i requisiti di tempo e il numero di cavalli? Sei preoccupato esclusivamente per la precisione o la velocità è anche un problema? – varocarbas
* [...] e feed preferiti * Vuoi prendere i feed preferiti in calcolo o vuoi semplicemente ottenere il feed il più economico possibile? Inoltre cosa dovrebbe fare quando non corrisponde? Significa che se acquisti il mangime hai troppo o non abbastanza nutrienti. – Rizier123
@varocarbas sia l'accuratezza che la velocità sono importanti, ma se vedo solo alcune soluzioni, potrei ottimizzarla ulteriormente per il sistema. – SebHallin