Ad una azienda tessile viene richiesto di produrre un tessuto che deve contenere cotone e almeno 25 kg di filo sintetico e 45 kg di lana.  L'azienda può usare una miscela di due filati, così costituiti:  (1) cotone 20%, sintetico 50%, lana 30%, o:  (2) cotone 30%, sintetico 10%, lana 60%.  Sia m la moneta corrente.  Il filato (1) costa 30 m/kg, il filato (2) 20 m/kg.  In quali quantità deve utilizzare i due filati per minimizzare i costi?   Risolvi il problema "geometricamente".

Siano x ed y i due tipi di filato. Il problema è:

min  z = 30 x + 20 y 
0.5 x + 0.1 y ≥ 25
0.3 x + 0.6 y ≥ 45
  x +  0y ≥ 0
 0x +   y ≥ 0

source("http://macosa.dima.unige.it/r.R")
P <- function(x,y) (0.5*x+0.1*y>= 25) & (0.3*x+0.6*y>= 45) & (0<= x) & (0<= y)
HF <- 3; BF <- 3
# La scelta della porzione di piano  (eventualmente poi
# ritraccio dopo la rappresentazione delle rette)
Piano(-5,200, -5,300)
diseq2(P,0, "grey")  # Dove P > 0 ovvero P = 1
diseq2(P,0, "grey")
f1 <- function(x,y) 0.5*x+0.1*y - 25; f2 <- function(x,y) 0.3*x+0.6*y - 45
f3 <- function(x,y) x; f4 <- function(x,y) y
curva(f1,"red"); curva(f2,"green"); curva(f3,"orange"); curva(f4,"blue")
F <- function(x,y) 30*x + 20*y - M
M <- 0; cur(F,"black")
M <- 1000; cur(F,"black")
# intersezione tra rossa (f1) e verde (f2)
frazio(sistema(c(0.5,0.1,25, 0.3,0.6, 45)))
#   38.88889  55.55556
#   350/9     500/9
PUNTO(350/9, 500/9,  "blue")
M <- 0; F(350/9,500/9)
#   2277.778
M <-ultimo(); cur(F,"black")

Mi conviene prendere 38.9 kg del primo filato e 55.6 kg del secondo.

In questo caso (semplice da risolvere geometricamente) l'algoritmo "simplex" non avrebbe fornito una risposta.

Comunque con WolframAlpha la ottengo facilmente:
minimize[30x+20y, {0.5x+0.1y>=25 && 0.3x+0.6y >= 45 && y>=0 && 0<=x} ]
fornisce  min ≈ 2277.78 at (x,y) ≈ (38.8889, 55.5556)

Approfondimenti in: Programmazione lineare neGli Oggetti Matematici.