# Calcoli scientifici con Julia/Coltivazione terreno

Calcoli scientifici con Julia
Copertina Tutti i moduli · Sviluppo
* Calcoli scientifici con JuliaCalcoli scientifici con Julia
* Economia
** Massimizzazione profittoCalcoli scientifici con Julia/Massimizzazione profitto
** Minimizzazione costiCalcoli scientifici con Julia/Minimizzazione costi
** Mutui e prestitiCalcoli scientifici con Julia/Mutui e prestiti
** Domanda e offertaCalcoli scientifici con Julia/Domanda e offerta
** Teoria dei giochiCalcoli scientifici con Julia/Teoria dei giochi
* Biologia
** Crescita popolazioneCalcoli scientifici con Julia/Crescita popolazione
* Geografia
** Cammino minimoCalcoli scientifici con Julia/Cammino minimo
** Commesso viaggiatoreCalcoli scientifici con Julia/Commesso viaggiatore
* Agraria
** Coltivazione terrenoCalcoli scientifici con Julia/Coltivazione terreno
* Fisica
** Lancio oggettoCalcoli scientifici con Julia/Lancio oggetto
** Circuiti elettriciCalcoli scientifici con Julia/Circuiti elettrici
* Chimica
** Tavola periodicaCalcoli scientifici con Julia/Tavola periodica
* Intelligenza artificiale
** Diagnosi malattie cardiacheCalcoli scientifici con Julia/Diagnosi malattie cardiache
* Appendice
** Creare reports in JupyterApplicazioni pratiche di machine learning/Creare reports in Jupyter
** Esercizi in JuliaCalcoli scientifici con Julia/Esercizi in Julia
Modifica il sommario
Coltivare un terreno stabilendo la superficie da coltivare nei vari cereali e il quantitativo di fertilizzanti e pesticidi da utilizzare, in modo da massimizzare il profitto è un esempio di programmazione lineare che nella sua forma standard si esprime in 3 parti:
    $f(x_{1},x_{2})=c_{1}x_{1}+c_{2}x_{2}$
       ${\begin{matrix}a_{11}x_{1}+a_{12}x_{2}&\leq b_{1}\\a_{21}x_{1}+a_{22}x_{2}&\leq b_{2}\\a_{31}x_{1}+a_{32}x_{2}&\leq b_{3}\\\end{matrix}}$
       ${\begin{matrix}x_{1}\geq 0\\x_{2}\geq 0\end{matrix}}$
Il problema è di solito espresso in forma matriciale nel seguente modo:
    $\max\{\,\mathbf {c} ^{\mathsf {T}}\mathbf {x} \mid \mathbf {x} \in \mathbb {R} ^{n}\land A\mathbf {x} \leq \mathbf {b} \land \mathbf {x} \geq 0\,\}$

## Esempio di calcolo con Julia

Supponiamo che un agricoltore abbia un pezzo di terreno agricolo, di 10 km2, da coltivare a grano o orzo o da una combinazione di entrambi. L’agricoltore ha quantità limitate di fertilizzanti (48 chilogrammi), e di pesticidi (32 chilogrammi) . Ogni chilometro quadrato di grano richiede 3 chilogrammi di fertilizzante e 4 chilogrammi di pesticidi, mentre ogni chilometro quadrato di orzo richiede 6 chilogrammi di fertilizzante e 2 chilogrammi di pesticidi. Sia 4€ il prezzo di vendita del grano per chilometro quadrato e 3€ il prezzo di vendita dell'orzo. Se indichiamo l’area di terreno coltivato a grano e orzo rispettivamente con x1 e x2, allora il profitto può essere massimizzato scegliendo valori ottimali per x1 e x2. Questo problema può essere espresso con il seguente problema di programmazione lineare nella forma standard.
Innanzitutto occorre installare i pacchetti JuMP ed HiGHS.
Da REPL digitare:
Da Jupyter in due celle di codice digitare :
e poi cliccare su Run. Poi eseguire il codice per creare il modello di programmazione lineare:
Si ottiene quindi un profitto massimo di 36€, coltivando 6 km2 di grano e 4 km2 di orzo.Ogni chilometro quadrato di grano richiede 3 chilogrammi di fertilizzante e 4 chilogrammi di pesticidi, mentre ogni chilometro quadrato di orzo richiede 6 chilogrammi di fertilizzante e 2 chilogrammi di pesticidi.