Nato a Cluj, in Romania, nel 1922, in una famiglia ebraica di origine ungherese, Egon Balas partecipò ad attività clandestine durante la Seconda guerra mondiale, fu catturato dai tedeschi, torturato, poi riuscì a fuggire. Dopo la guerra fu nominato diplomatico a Londra e ricoprì incarichi di responsabilità nella Romania comunista che si andava costruendo. Ma fu di nuovo prigione, per idee non conformi, interrogatori ripetuti da parte della temibile Securitate, isolamento in cella per più di due anni, poi la liberazione e l’espulsione dal Partito comunista. Solo all’età di 37 anni iniziò la sua carriera di matematico. Questa affascinante epopea si può leggere nel suo racconto autobiografico La Liberté et rien d’autre, pubblicato in francese da L’Harmattan nel 2003.
All’uscita dal carcere, Egon Balas fu assegnato all’Istituto delle acque e delle foreste di Bucarest, dove si pianificava lo sfruttamento forestale in Romania. Per sviluppare gli strumenti logistici adeguati, dovette studiare da autodidatta matematica e ricerca operativa sui libri che riusciva a procurarsi. Peter Hammer (1936‒2006), che sarebbe diventato anch’egli molto noto nel campo della ricerca operativa, lavorava nello stesso periodo presso quell’istituto. Per pianificare il trasporto del legname, Balas e Hammer crearono nuovi strumenti basati sulla teoria dei flussi nelle reti e sulla programmazione lineare (Hammer pubblicava allora con il nome di Ivanescu).
Un pioniere dell’ottimizzazione in numeri interi ----------------------------------------------------
Nel 1962, Egon Balas si trovò di fronte a un problema complesso. In una zona della foresta occorreva costruire un’intera rete di strade di accesso per raggiungere appezzamenti remoti. Bisognava decidere quali appezzamenti sfruttare e quali strade di accesso costruire. Queste decisioni erano strettamente legate. Ne derivavano implicazioni logiche: se si costruisce il tratto stradale A, occorre costruire anche il tratto B per poter raggiungere A. Egon Balas formulò il problema come programma lineare in variabili binarie (0, 1). Per esempio, se xA = 1 rappresenta la costruzione del tratto A e xB = 1 quella del tratto B, il vincolo xA ≤ xB per variabili xA, xB che assumono i valori 0 o 1 rappresenta l’implicazione logica appena menzionata. Per esprimere mediante un vincolo lineare in variabili 0 e 1 la condizione «occorre costruire almeno uno dei tratti A, B o C», analogamente si scriverebbe xA + xB + xC ≥ 1.