25 juni 2021 5:52

Zero-One Integer Programming

Wat is programmeren van nul-één geheel getal?

Zero-one integer programming (dat ook kan worden geschreven als ‘0-1’ integer programming) is een wiskundige methode om een ​​reeks binaire functies te gebruiken; in het bijzonder ja (‘1’) en nee (‘0’) antwoorden om tot een oplossing te komen wanneer er twee elkaar uitsluitende opties zijn.

In de financiële wereld wordt zero-one integer-programmering vaak gebruikt om antwoorden te bieden op problemen met kapitaalrantsoenering, maar ook om het investeringsrendement te optimaliseren en te helpen bij planning, productie, transport en bij andere problemen.

Belangrijkste leerpunten

  • Zero-one integer programming is gebaseerd op elkaar uitsluitende ja (1) en nee (0) beslissingen om oplossingen te vinden voor logische problemen.
  • In nul-één integer-problemen wordt elke variabele alleen weergegeven door 0 (‘nee’) of 1 (‘ja’), en kan staan ​​voor het selecteren of afwijzen van een optie, het in- of uitschakelen van elektronische schakelaars of een rechttoe rechtaan ja of geen antwoord gebruikt in verschillende andere toepassingen.
  • Dit type programmering kan handig zijn voor bedrijven die beslissingen nemen over zaken als waarin ze investeren of welke van de twee voorgestelde producten het gemakkelijkst te vervaardigen zijn.

De basisprincipes van Zero-One Integer Programming

Integer-programmeren is een tak van wiskundig programmeren of optimaliseren, waarbij vergelijkingen worden gemaakt om problemen op te lossen. De term “wiskundig programmeren” houdt verband met het feit dat het doel van het oplossen van verschillende problemen het kiezen van actieprogramma’s is. Het toekennen van een simpele ja / nee-waarde kan een krachtige manier zijn om een ​​lineair probleemoplossend raamwerk vast te stellen om inefficiënties te identificeren.

In wezen zijn de meest elementaire instructies die door een computer worden uitgevoerd, binaire codes, die alleen uit enen en nullen bestaan. Die codes worden direct vertaald in de “aan” en “uit” -toestanden van de elektriciteit die door de fysieke circuits van de computer beweegt. In wezen vormen deze eenvoudige codes de basis van “machinetaal”, de meest fundamentele variëteit aan programmeertalen. Deze aan en uit posities kunnen ook worden opgevat als het toekennen van een “ja” of “nee” aan een logische functie.

Natuurlijk zou geen mens in staat zijn om moderne softwareprogramma’s te bouwen door expliciet enen en nullen te programmeren. In plaats daarvan moeten menselijke programmeurs vertrouwen op verschillende abstractielagen die hen in staat stellen hun commando’s te articuleren in een formaat dat intuïtiever is voor mensen. In het bijzonder geven moderne programmeurs opdrachten uit in zogenaamde “talen op hoog niveau”, die gebruik maken van intuïtieve syntaxis zoals hele Engelse woorden en zinnen, evenals logische operatoren zoals “En”, “Of” en “Anders” die zijn bekend bij alledaags gebruik.

Uiteindelijk moeten deze commando’s op hoog niveau echter in machinetaal worden vertaald. In plaats van dit handmatig te doen, vertrouwen programmeurs op assembleertalen die tot doel hebben automatisch te vertalen tussen deze talen op hoog en laag niveau.

Voorbeeld uit de echte wereld van programmeren van nul-één geheel getal

Een eenvoudig voorbeeld van hoe zero-one integer- programmering kan worden gebruikt bij het rantsoeneren van kapitaal, is het bepalen van het aantal productontwikkelingsprojecten dat door een bedrijf kan worden voltooid op een bepaalde datum of binnen een bepaald budget. Zo kunnen per project een aantal variabelen waarden krijgen die uiteindelijk resulteren in een 1 (ja) of 0 (nee) binaire beslissing over het wel of niet opnemen van het project in een begroting. Dit kan handig zijn voor bedrijven die niet zeker zijn van een specifieke zakelijke beslissing en op zoek zijn naar een eenvoudige manier om de mogelijkheden te beoordelen.