Zero-One Integer Programming - KamilTaylan.blog
4 Maggio 2021 5:02

Zero-One Integer Programming

Che cos’è la programmazione a numeri interi zero uno?

La programmazione zero-uno intero (che può anche essere scritta come programmazione intera “0-1”) è un metodo matematico per utilizzare una serie di funzioni binarie; in particolare, risposte sì (‘1’) e no (‘0’) per arrivare a una soluzione quando ci sono due opzioni che si escludono a vicenda.

Nel mondo della finanza, la programmazione zero uno intero viene spesso utilizzata per fornire risposte ai problemi di razionamento del capitale, nonché per ottimizzare i rendimenti degli investimenti e assistere nella pianificazione, produzione, trasporto e altre questioni.

Punti chiave

  • La programmazione zero uno intero si basa su decisioni mutuamente esclusive sì (1) e no (0) per trovare soluzioni ai problemi logici.
  • In zero-uno problemi interi, ogni variabile è rappresentata solo da 0 (‘no’) o 1 (‘sì’) e potrebbe rappresentare la selezione o il rifiuto di un’opzione, l’attivazione o la disattivazione di interruttori elettronici o un semplice sì o nessuna risposta utilizzata in varie altre applicazioni.
  • Questo tipo di programmazione può essere utile per le aziende che prendono decisioni su questioni come cosa investire o quale dei due prodotti proposti è più facile da produrre.

Nozioni di base sulla programmazione a numeri interi zero-uno

La programmazione intera è una branca della programmazione o ottimizzazione matematica, che implica la creazione di equazioni per risolvere problemi. Il termine “programmazione matematica” è connesso al fatto che l’obiettivo della risoluzione di vari problemi è la scelta dei programmi di azione. Assegnare un semplice valore sì / no può essere un modo efficace per stabilire una struttura lineare di risoluzione dei problemi per identificare le inefficienze.

Fondamentalmente, le istruzioni più elementari eseguite da un computer sono codici binari, costituiti solo da uno e zero. Questi codici vengono tradotti direttamente negli stati “acceso” e “spento” dell’elettricità che si muove attraverso i circuiti fisici del computer. In sostanza, questi semplici codici costituiscono la base del “linguaggio macchina”, la più fondamentale varietà di linguaggi di programmazione. Queste posizioni di attivazione e disattivazione possono anche essere interpretate come l’assegnazione di un “sì” o “no” a una funzione logica.

Naturalmente, nessun essere umano sarebbe in grado di costruire programmi software moderni programmando esplicitamente uno e zero. Invece, i programmatori umani devono fare affidamento su vari livelli di astrazione che possono consentire loro di articolare i propri comandi in un formato più intuitivo per gli esseri umani. In particolare, i programmatori moderni emettono comandi nei cosiddetti “linguaggi di alto livello”, che utilizzano una sintassi intuitiva come intere parole e frasi inglesi, nonché operatori logici come “And”, “Or” e “Else” che sono familiare all’uso quotidiano.

In definitiva, tuttavia, questi comandi di alto livello devono essere tradotti in linguaggio macchina. Invece di farlo manualmente, i programmatori si affidano a linguaggi assembly il cui scopo è tradurre automaticamente tra questi linguaggi di alto livello e quelli di basso livello.

Esempio reale di programmazione a numeri interi zero uno

Un semplice esempio di come la programmazione di un numero intero zero possa essere utilizzata nel razionamento del capitale sarebbe nel determinare il numero di progetti di sviluppo prodotto che possono essere completati da un’azienda entro una certa data o entro un certo budget. Ad esempio, a un numero di variabili per ogni progetto possono essere assegnati valori che alla fine si traducono in una decisione binaria 1 (sì) o 0 (no) sull’opportunità o meno di includere il progetto in un budget. Questo può essere utile per le aziende che non sono sicure di una decisione aziendale specifica e sono alla ricerca di un modo semplice per valutare le possibilità.