Investor's wiki

Целочисленное программирование с нулевым единицей

Целочисленное программирование с нулевым единицей

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ цСлочислСнноС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ с Π½ΡƒΠ»Π΅Π²ΠΎΠΉ Π΅Π΄ΠΈΠ½ΠΈΡ†Π΅ΠΉ?

ЦСлочислСнноС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ с Π½ΡƒΠ»Π΅Π²ΠΎΠΉ Π΅Π΄ΠΈΠ½ΠΈΡ†Π΅ΠΉ (ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠ°ΠΊ цСлочислСнноС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Β«0-1Β») β€” это матСматичСский ΠΌΠ΅Ρ‚ΠΎΠ΄ использования ряда Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ; Π² частности, Π΄Π° ('1') ΠΈ Π½Π΅Ρ‚ ('0') ΠΎΡ‚Π²Π΅Ρ‚Ρ‹ для достиТСния Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ, ΠΊΠΎΠ³Π΄Π° Π΅ΡΡ‚ΡŒ Π΄Π²Π° Π²Π·Π°ΠΈΠΌΠΎΠΈΡΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΡ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°.

Π’ ΠΌΠΈΡ€Π΅ финансов цСлочислСнноС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ нуля ΠΈΠ»ΠΈ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Ρ€Π°Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ использования ΠΊΠ°ΠΏΠΈΡ‚Π°Π»Π°,. Π° Ρ‚Π°ΠΊΠΆΠ΅ для ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π° инвСстиций ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Π² ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ, производствС, транспортировкС ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… вопросах.

ПониманиС цСлочислСнного программирования Zero-One

ЦСлочислСнноС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ β€” это Ρ€Π°Π·Π΄Π΅Π» матСматичСского программирования ΠΈΠ»ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя созданиС ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠΉ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡. Π’Π΅Ρ€ΠΌΠΈΠ½ «матСматичСскоС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅Β» связан с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Ρ†Π΅Π»ΡŒΡŽ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡ являСтся Π²Ρ‹Π±ΠΎΡ€ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ дСйствий. ΠŸΡ€ΠΈΡΠ²ΠΎΠ΅Π½ΠΈΠ΅ простого значСния Β«Π΄Π°/Π½Π΅Ρ‚Β» ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ эффСктивным способом создания Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΉ схСмы Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ для выявлСния нСэффСктивности.

По сути, самыС основныС инструкции, выполняСмыС ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠΌ, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅ ΠΊΠΎΠ΄Ρ‹, состоящиС Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ· Π΅Π΄ΠΈΠ½ΠΈΡ† ΠΈ Π½ΡƒΠ»Π΅ΠΉ. Π­Ρ‚ΠΈ ΠΊΠΎΠ΄Ρ‹ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ пСрСводятся Π² состояния Β«Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎΒ» ΠΈ Β«Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎΒ» элСктричСства, проходящСго Ρ‡Π΅Ρ€Π΅Π· физичСскиС схСмы ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°. По сути, эти простыС ΠΊΠΎΠ΄Ρ‹ ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ основу «машинного языка», самой Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΠΎΠΉ разновидности языков программирования. Π­Ρ‚ΠΈ полоТСния Β«Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎΒ» ΠΈ Β«Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎΒ» Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ истолкованы ΠΊΠ°ΠΊ присвоСниС Β«Π΄Π°Β» ΠΈΠ»ΠΈ Β«Π½Π΅Ρ‚Β» логичСской Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π½ΠΈ ΠΎΠ΄ΠΈΠ½ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ Π½Π΅ смог Π±Ρ‹ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ соврСмСнныС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, явно программируя Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹ ΠΈ Π½ΡƒΠ»ΠΈ. ВмСсто этого программисты-люди Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒΡΡ Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΡƒΡ€ΠΎΠ²Π½ΠΈ абстракции, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΈΠΌ Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ свои ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅, Π±ΠΎΠ»Π΅Π΅ ΠΈΠ½Ρ‚ΡƒΠΈΡ‚ΠΈΠ²Π½ΠΎΠΌ для людСй. Π’ частности, соврСмСнныС программисты Π²Ρ‹Π΄Π°ΡŽΡ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π½Π° Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… «языках высокого уровня», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΈΠ½Ρ‚ΡƒΠΈΡ‚ΠΈΠ²Π½ΠΎ понятный синтаксис, Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠ°ΠΊ Ρ†Π΅Π»Ρ‹Π΅ английскиС слова ΠΈ прСдлоТСния, Π° Ρ‚Π°ΠΊΠΆΠ΅ логичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ «И», «Или» ΠΈ Β«Π•Ρ‰Π΅Β». Π·Π½Π°ΠΊΠΎΠΌΡ‹ΠΉ для повсСднСвного использования.

Однако Π² ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ ΠΈΡ‚ΠΎΠ³Π΅ эти высокоуровнСвыС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ пСрСвСсти Π½Π° ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ язык. ВмСсто Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄Π΅Π»Π°Ρ‚ΡŒ это Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ, программисты ΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚ΡΡ Π½Π° языки ассСмблСра,. Ρ†Π΅Π»ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… являСтся автоматичСский ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΠΌΠ΅ΠΆΠ΄Ρƒ этими высокоуровнСвыми ΠΈ Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹ΠΌΠΈ языками.

Π Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ цСлочислСнного программирования нуля-Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹

ΠŸΡ€ΠΎΡΡ‚Ρ‹ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ цСлочислСнноС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ с Π½ΡƒΠ»Π΅Π²ΠΎΠΉ Π΅Π΄ΠΈΠ½ΠΈΡ†Π΅ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для нормирования ΠΊΠ°ΠΏΠΈΡ‚Π°Π»Π°, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ количСства ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² ΠΏΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ компания ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ Π΄Π°Ρ‚Π΅ ΠΈΠ»ΠΈ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π±ΡŽΠ΄ΠΆΠ΅Ρ‚Π°. НапримСр, ряду ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ присвоСны значСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π² ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ ΠΈΡ‚ΠΎΠ³Π΅ приводят ΠΊ Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΌΡƒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡŽ 1 (Π΄Π°) ΠΈΠ»ΠΈ 0 (Π½Π΅Ρ‚) ΠΎ Ρ‚ΠΎΠΌ, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π² Π±ΡŽΠ΄ΠΆΠ΅Ρ‚ ΠΈΠ»ΠΈ Π½Π΅Ρ‚. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ для ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΡƒΠ²Π΅Ρ€Π΅Π½Ρ‹ Π² ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌ бизнСс-Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ ΠΈ ΠΈΡ‰ΡƒΡ‚ простой способ ΠΎΡ†Π΅Π½ΠΈΡ‚ΡŒ возмоТности.

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ

ЦСлочислСнноС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ с Π½ΡƒΠ»Π΅Π²ΠΎΠΉ Π΅Π΄ΠΈΠ½ΠΈΡ†Π΅ΠΉ опираСтся Π½Π° Π²Π·Π°ΠΈΠΌΠΎΠΈΡΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Β«Π΄Π°Β» (1) ΠΈ Β«Π½Π΅Ρ‚Β» (0) для поиска Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ логичСских Π·Π°Π΄Π°Ρ‡.

  • Π­Ρ‚ΠΎΡ‚ Ρ‚ΠΈΠΏ программирования ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π΅Π½ компаниям, ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‰ΠΈΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΏΠΎ Ρ‚Π°ΠΊΠΈΠΌ вопросам, ΠΊΠ°ΠΊ, Π²ΠΎ Ρ‡Ρ‚ΠΎ ΠΈΠ½Π²Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΎΠΉ ΠΈΠ· Π΄Π²ΡƒΡ… ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅ΠΌΡ‹Ρ… ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ² ΠΏΡ€ΠΎΡ‰Π΅ всСго ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ.

  • Π’ Π·Π°Π΄Π°Ρ‡Π°Ρ… с Ρ†Π΅Π»Ρ‹ΠΌ числом ноль-Π΅Π΄ΠΈΠ½ΠΈΡ†Π° каТдая пСрСмСнная прСдставлСна Ρ‚ΠΎΠ»ΡŒΠΊΠΎ 0 (Β«Π½Π΅Ρ‚Β») ΠΈΠ»ΠΈ 1 (Β«Π΄Π°Β») ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ·Π½Π°Ρ‡Π°Ρ‚ΡŒ Π²Ρ‹Π±ΠΎΡ€ ΠΈΠ»ΠΈ ΠΎΡ‚ΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΠ΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°, Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ элСктронных ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΈΠ»ΠΈ прямоС Β«Π΄Π°Β». ΠΈΠ»ΠΈ Π½Π΅Ρ‚ ΠΎΡ‚Π²Π΅Ρ‚Π°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π΄Ρ€ΡƒΠ³ΠΈΡ… прилоТСниях.