Estratto del documento

IL FORNO ARTIGIANALE DI ROMA

PROGRAMMAZIONE LINEARE funzione obiettivo da massimizzare:

Z = 9.5x1 + 9.5x2 + 9x3 + 8x4 + 11x5 + 3.5x6

Problema di mix produttivo + 4.5x7 + 7.5x8

x1 Pizza rossa

x2 pizza con patate VINCOLI MACCHINARI

x3 focaccia romana 5x₁ + 6x₂ + 4x₃ + 5x₄ + 6x₅ + 3x₆ + 3x₇ + 4x₈ ≤ 100.000 impastatrice

x4 pizza bianca 60x₁ + 65x₂ + 50x₃ + 50x₄ + 70x₅ + 40x₆ + 45x₇ + 55x₈ ≤ 864.000 celle di lievitazione

x5 pizzette rustiche 12x₁ + 13x₂ + 12x₃ + 10x₄ + 14x₅ + 8x₆ + 9x₇ + 11x₈ ≤ 180.000 forno

4x₁ + 4x₂ + 3x₃ + 4x₄ + 5x₅ + 3x₆ + 3x₇ + 3x₈ ≤ 70.000 griglia di raffreddamento

x6 pane casereccio 2x₁ + 3x₂ + 2x₃ + 2x₄ + 4x₅ + 1x₆ + 1x₇ + 2x₈ ≤ 50.000 confezionatrice

x7 pane di segale VINCOLI MATERIE PRIME

x8 medaglione 0.4x₁ + 0.4x₂ + 0.5x₃ + 0.5x₄ + 0.5x₅ + 0.6x₆ + 0.3x₇ + 0.4x₈ ≤ 4.000 farina 00

0.4x₇ ≤ 800 farina di segale

0.3x₁ + 0.3x₂ + 0.25x₃ + 0.25x₄ + 0.25x₅ + 0.3x₆ + 0.3x₇ + 0.25x₈ ≤ 3000 acqua

0.05(x₁ + x₂ + x₃ + x₄ + x₅ + x₆ + x₇ + x₈) ≤ 500 sale

0.02x₁ + 0.02x₂ + 0.02x₃ + 0.02x₄ + 0.02x₅ + 0.03x₆ + 0.03x₇ + 0.02x₈ ≤ 300 lievito

0.05x₁ + 0.07x₂ + 0.10x₃ + 0.05x₄ + 0.08x₅ + 0.01x₆ + 0.01x₇ + 0.05x₈ ≤ 700 olio

0.2x₁ + 0.05x₅ ≤ 500 pomodoro

0.01x₁ + 0.01x₅ ≤ 50 patate

0.3x₂ + 0.1x₅ ≤ 500 rosmarino

ANALISI DEGLI SCENARI STRATEGICI:

 soluzione completamente libera (senza vincoli minimi);

 vincolo minimo di 300 kg per ciascun prodotto;

 aumento disponibilità di farina 00 (risorsa chiave del processo

produttivo) da 4000kg a 4333kg;

 aumento margine unitario del Medaglione (bun per hamburger) da 7,5 a

Codice R: # 4. Direzione vincoli

Risoluzione library(lpSolve) f.dir <- rep("<=", 14)

8,5 €/kg. # 1. Prodotti

con R prodotti <- c("Pizza_Rossa", "Pizza_Patate", "Focaccia", "Pizza_Bianca", # 5. Risorse disponibili

"Pizzette", "Pane_Casareccio", "Pane_Segale", "Medaglione") f.rhs <- c(

SCENARIO SENZA # 2. Margine unitario (€ per kg) 100000, 864000, 180000, 70000, 50000,

f.obj <- c(9.5, 9.5, 9, 8, 11, 3.5, 4.5, 7.5) 4000, 800, 3000, 500, 300, 700, 500, 50, 500)

VINCOLI MINIMI # Scenario 1 - Senza vincoli minimi

# 3. Matrice dei coefficienti (vincoli) sol1 <- lp("max", f.obj, f.con, f.dir,

f.con <- matrix(c( f.rhs)

# Macchinari # Risultati

5, 6, 4, 5, 6, 3, 3, 4, sol1$solution

60, 65, 50, 50, 70, 40, 45, 55, sol1$objval

12, 13, 12, 10, 14, 8, 9, 11,

4, 4, 3, 4, 5, 3, 3, 3, RISULTATI OTTENUTI:

2, 3, 2, 2, 4, 1, 1, 2,

# Materie Prime Quantità prodotte:

0.4, 0.4, 0.5, 0.5, 0.5, 0.6, 0.3, 0.4,

0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.4, 0.0, 1666.6667 555.5556

0.3, 0.3, 0.25, 0.25, 0.25, 0.3, 0.3, 0.25, 0.0000 0.0000

0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05,

0.02, 0.02, 0.02, 0.02, 0.02, 0.03, 0.03, 0.02, 3333.3333 0.0000

0.05, 0.07, 0.10, 0.05, 0.08, 0.01, 0.01, 0.05,

0.2, 0.0, 0.0, 0.0, 0.05, 0.0, 0.0, 0.0, 0.0000 3611.1111

0.01, 0.0, 0.0, 0.0, 0.01, 0.0, 0.0, 0.0,

0.0, 0.3, 0.0, 0.0, 0.1, 0.0, 0.0, 0.0 Profitto: 84861.11

), nrow = 14, byrow = TRUE)

CONFRONTO GRAFICO TRA I QUATTRO DIVERSI SCENARI

PRODUTTIVI

Scenario 1 Scenario 2 Scenario 3 Scenario 4

Prodotto (Medaglione 8.5

(Libero) (Minimo 300 kg) (Farina 4333 kg) €/kg)

Pizza rossa 1666,67 1666,67 1666,67 2500,00

Pizza con patate 555,56 555,56 555,56 1666,67

Focaccia romana 0,00 300,00 300,00 0,00

Pizza bianca 0,00 300,00 300,00 0,00

Pizzette rustiche 3333,33 3333,33 3333,33 0,00

Pane casareccio 0,00 300,00 300,00 0,00

Pane di segale 0,00 300,00 300,00 0,00

Medaglione 3611,11 2186,11 3018,61 5833,33

Profitto (€) 84.861,11 81.673,61 87.917,36 89.166,67

Teoria dei Grafi: Rete

Distributiva

Connessioni della Rete: Distanze dei nodi della rete:

• Laboratorio rifornisce: Distanza

• Antico Forno Roscioli Da → A (km)

• Forno Roscioli Pietro – Esquilino Laboratorio → Antico Forno Roscioli 8.2

• Best Western Plus Hotel Universo

• Best Western Premier Hotel Royal Laboratorio → Forno Roscioli Pietro 7.5

Santina

• Laboratorio → Best Western Plus Hotel

Best Western Hotel President 8.0

Universo

• Hotel Raffaello

• Hilton Garden Inn Rome Claridge Laboratorio → Best Western Premier Hotel 8.0

Royal Santina

Laboratorio → Best Western Hotel President 7.8

• Antico Forno Roscioli rifornisce:

• Roscioli Salumeria con Cucina Laboratorio → Hotel Raffaello 7.9

• Roscioli Caffè Pasticceria Laboratorio → Hilton Garden Inn Rome 9.5

Claridge

• Forno Roscioli Pietro – Antico Forno Roscioli → Roscioli Salumeria

Esquilino rifornisce: 0.2

con Cucina

• Roscioli Salumeria con Cucina Antico Forno Roscioli → Roscioli Caffè

• Roscioli Caffè Pasticceria 0.3

Codice R:

Costruzione # Caricare il pacchetto igraph

library(igraph)

del grafo # Definizione dei nodi

nodi <- c("Laboratorio", "Antico Forno", "Roscioli Pietro",

"Salumeria", "Caffè",

orientato "Hotel Universo", "Hotel Royal Santina", "Hotel

President", "Hotel Raffaello", "Hotel Claridge")

# Definizione degli archi con le distanze come pesi

archi <- data.frame(

from = c("Laboratorio", "Laboratorio", "Laboratorio",

"Laboratorio", "Laboratorio", "Laboratorio", "Laboratorio",

"Antico Forno", "Antico Forno", "Roscioli Pietro",

"Roscioli Pietro"),

to = c("Antico Forno", "Roscioli Pietro", "Hotel Universo",

"Hotel Royal Santina", "Hotel President", "Hotel Raffaello",

"Hotel Claridge",

"Salumeria", "Caffè", "Salumeria", "Caffè"),

weight = c(8.2, 7.5, 8.0, 8.0, 7.8, 7.9, 9.5, 0.2, 0.3, 2.5,

2.6)

)

# Creazione del grafo orientato

g_orientato <- graph_from_data_frame(d=archi, vertices=nodi,

directed=TRUE)

# Visualizzazione del grafo

plot(g_orientato, edge.label=E(g)$weight,

vertex.label.color="black", vertex.size=30,

Codice R:

# Carica il pacchetto necessario

library(igraph)

Costruzione # 1. Definizione dei nodi

nodi <- c(

"Laboratorio", "Antico Forno", "Roscioli Pietro", "Salumeria",

"Caffè",

del grafo non "Hotel Universo", "Hotel Royal Santina", "Hotel President",

"Hotel Raffaello", "Hotel Claridge"

)

# 2. Definizione degli archi reali e pesati (rete logistica effettiva)

orientato archi_non_orientati <- data.frame(

from = c(

"Laboratorio", "Laboratorio", "Laboratorio", "Laboratorio",

"Laboratorio", "Laboratorio", "Laboratorio",

"Antico Forno", "Antico Forno",

"Roscioli Pietro", "Roscioli Pietro"

),

to = c(

"Antico Forno", "Roscioli Pietro", "Hotel Universo", "Hotel Royal

Santina", "Hotel President",

"Hotel Raffaello", "Hotel Claridge",

"Salumeria", "Caffè",

"Salumeria", "Caffè"

),

weight = c(

8.2, 7.5, 8.0, 8.0, 7.8, 7.9, 9.5,

0.2, 0.3,

2.5, 2.6

)

)

# 3. Creazione del grafo non orientato

g_non_orientato <- graph_from_data_frame(d = archi_non_orientati,

vertices = nodi, directed = FALSE)

# 4. Visualizzazione del grafo

plot(

g_non_orientato,

edge.label = E(g_non_orientato)$weight, # etichette con pesi

(distanze)

vertex.label.color = "black",

vertex.label.cex = 0.9,

vertex.size = 30,

vertex.color = "lightblue",

Grafo non orientato

visualizzato geograficamente

Codice R: "Laboratorio Produzione Roscioli",

"Antico Forno Roscioli", "Antico

library(leaflet) Forno Roscioli",

library(dplyr) "Forno Roscioli Pietro -

# Nodi con coordinate aggiornate Esquilino", "Forno Roscioli Pietro -

nodi <- data.frame( Esquilino"

name = c( ),

"Laboratorio Produzione Roscioli", to = c(

"Antico Forno Roscioli", "Antico Forno Roscioli",

"Forno Roscioli Pietro - "Forno Roscioli Pietro -

Esquilino", Esquilino",

"Roscioli Salumeria con Cucina", "Best Western Plus Hotel Universo",

"Roscioli Caffè Pasticceria", "Best Western Premier Hotel Royal

"Best Western Plus Hotel Universo",

Santina",

"Best Western Premier Hotel Royal "Best Western Hotel President",

Santina", "Hotel Raffaello (Sure Hotel)",

"Best Western Hotel President", "Hilton Garden Inn Rome Claridge",

"Hotel Raffaello (Sure Hotel)", "Roscioli Salumeria con Cucina",

"Hilton Garden Inn Rome Claridge" "Roscioli Caffè Pasticceria",

), "Roscioli Salumeria con Cucina",

lat = c( "Roscioli Caffè Pasticceria"

41.856298039719235, ),

41.8946, stringsAsFactors = FALSE

41.8957, )

41.8949, # Mappa base

41.8942, mappa <- leaflet(nodi) %>%

41.9010, addTiles() %>%

41.9015, addCircleMarkers(

41.8883, lng = ~lon, lat = ~lat,

41.8961, radius = 6,

41.9207 color = "blue",

), fillOpacity = 0.9

lon = c( )

12.456881780747205, # Aggiunta delle linee (non orientate)

12.4755, for(i in

12.5074, seq_len(nrow(archi_non_orientati))) {

12.4743, from_node <- filter(nodi, name ==

12.4746, archi_non_orientati$from[i])

12.4953, to_node <- filter(nodi, name ==

12.5013, archi_non_orientati$to[i])

12.5098, mappa <- mappa %>%

12.4948, addPolylines(

12.5071 lng = c(from_node$lon,

), to_node$lon),

stringsAsFactors = FALSE lat = c(from_node$lat,

) to_node$lat),

# Archi NON orientati (stesse color = "darkgreen",

connessioni, senza direzione) weight = 2,

archi_non_orientati <- data.frame( opacity = 0.7

from = c( )

"Laboratorio Produzione Roscioli", }

"Laboratorio Produzione Roscioli", # Visualizza la mappa

Misure di centralità (grafo

non orientato)

Definizioni delle misure di centralità:

Misura il numero di archi che si collegano ad un nodo e l’importanza di un nodo in base

1) Degree Centrality:

al numero dei suoi vicini. Misura la distanza di un nodo da tutti gli altri nodi, è anche l’inverso del

Anteprima
Vedrai una selezione di 5 pagine su 19
Presentazione project work Metodi quantitativi per il management Pag. 1 Presentazione project work Metodi quantitativi per il management Pag. 2
Anteprima di 5 pagg. su 19.
Scarica il documento per vederlo tutto.
Presentazione project work Metodi quantitativi per il management Pag. 6
Anteprima di 5 pagg. su 19.
Scarica il documento per vederlo tutto.
Presentazione project work Metodi quantitativi per il management Pag. 11
Anteprima di 5 pagg. su 19.
Scarica il documento per vederlo tutto.
Presentazione project work Metodi quantitativi per il management Pag. 16
1 su 19
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Scienze economiche e statistiche SECS-P/08 Economia e gestione delle imprese

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher Francesco030302 di informazioni apprese con la frequenza delle lezioni di Metodi quantitativi per il management e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università Cattolica del "Sacro Cuore" o del prof Bianchi Angelo.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community