ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании студСнчСских Ρ€Π°Π±ΠΎΡ‚
АнтистрСссовый сСрвис

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ распрСдСлСния Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Ρ€Π΅ΠΊΠ»Π°ΠΌΡ‹ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π΄ΠΈΠΎ ΠΈ Ρ‚Π΅Π»Π΅Π²ΠΈΠ΄Π΅Π½ΠΈΠ΅ΠΌ

ΠšΡƒΡ€ΡΠΎΠ²Π°ΡΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

Π’Π°ΠΆΠ½ΠΎΡΡ‚ΡŒ количСствСнного Ρ„Π°ΠΊΡ‚ΠΎΡ€Π° Π² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ исслСдованиС ΠΈ Ρ†Π΅Π»Π΅Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π½ΠΎΡΡ‚ΡŒ Π²Ρ‹Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ исслСдованиС ΠΊΠ°ΠΊ Ρ‚Π΅ΠΎΡ€ΠΈΡŽ принятия ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ. ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ исслСдования ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ Π² ΡΠ°ΠΌΡ‹Ρ… Ρ€Π°Π·Π½Ρ‹Ρ… областях: Π² ΡΡ„Π΅Ρ€Π΅ услуг, Π² ΡΡ„Π΅Ρ€Π΅ производства, Π²ΠΎΠ΅Π½Π½ΠΎΠΌ Π΄Π΅Π»Π΅ — ΠΎΠ΄Π½ΠΈΠΌ словом, Π²Π΅Π·Π΄Π΅, Π³Π΄Π΅ приходится ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ мСроприятия, Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π½Ρ‹Π΅ Π½Π° Π΄ΠΎΡΡ‚ΠΈΠΆΠ΅Π½ΠΈΠ΅… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ распрСдСлСния Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Ρ€Π΅ΠΊΠ»Π°ΠΌΡ‹ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π΄ΠΈΠΎ ΠΈ Ρ‚Π΅Π»Π΅Π²ΠΈΠ΄Π΅Π½ΠΈΠ΅ΠΌ (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

1. ΠŸΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°Ρ‡ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ

2. Базовая аналитичСская модСль

3. ОбоснованиС Π²Ρ‹Π±ΠΎΡ€Π° матСматичСских ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ

4. РСшСниС Π·Π°Π΄Π°Ρ‡ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ

4.1 Алгоритмы Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ

4.2 ОписаниС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°

5. Π˜ΡΠΏΡ‹Ρ‚Π°Π½ΠΈΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π½Π° Ρ‡ΡƒΠ²ΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Бписок ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… источников ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅

ИсслСдованиСм ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ называСтся Π½Π°ΡƒΡ‡Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π²Ρ‹Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ количСствСнно обоснованных Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΉ ΠΏΠΎ ΠΏΡ€ΠΈΠ½ΡΡ‚ΠΈΡŽ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ.

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

ИсслСдованиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ начинаСтся Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° для обоснования Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ примСняСтся Ρ‚ΠΎΡ‚ ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠΉ матСматичСский Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚. ЦСль исслСдования ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ — ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ количСствСнноС обоснованиС ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ с ΠΎΠΏΠΎΡ€ΠΎΠΉ Π½Π° ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ эффСктивности. Π›ΡŽΠ±Π°Ρ Π·Π°Π΄Π°Ρ‡Π°, которая Ρ€Π΅ΡˆΠ°Π΅Ρ‚ΡΡ, Π΄ΠΎΠ»ΠΆΠ½Π° Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒΡΡ с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния влияния Π½Π° ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΈ функционирования систСмы Π² Ρ†Π΅Π»ΠΎΠΌ. Для исслСдования ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π½ΠΎ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ. Π’Π°ΠΆΠ½ΠΎΠΉ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ исслСдования ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π΅ΡΡ‚ΡŒ стрСмлСниС Π½Π°ΠΉΡ‚ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ поставлСнной Π·Π°Π΄Π°Ρ‡ΠΈ (ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ «ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ»). Однако Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ Ρ‚Π°ΠΊΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π½Π°ΠΉΡ‚ΠΈ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎ Ρ‚Π°ΠΊΠΈΠΌ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°ΠΌ:

1. отсутствиС ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², Π΄Π°ΡŽΡ‰ΠΈΡ… Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π½Π°ΠΉΡ‚ΠΈ глобально ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ

2. ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΡΡ‚ΡŒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… рСсурсов (ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΡΡ‚ΡŒ машинного Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π­Π’Πœ), Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΌ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ Ρ‚ΠΎΡ‡Π½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ.

Π’ Ρ‚Π°ΠΊΠΈΡ… случаях ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°ΡŽΡ‚ΡΡ поиском Π½Π΅ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ…, Π° Π΄ΠΎΡΡ‚Π°Ρ‚ΠΎΡ‡Π½ΠΎ Ρ…ΠΎΡ€ΠΎΡˆΠΈΡ…, с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ, Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ. Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, нСльзя Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΎΠ΄ΠΈΠ½ ΠΌΠ΅Ρ‚ΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ всСх Π±Π΅Π· ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡, Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‰ΠΈΡ… Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅.

Π‘Ρ€Π΅Π΄ΠΈ Π·Π°Π΄Π°Ρ‡ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ исслСдованиС Π²Ρ‹Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Ρ‚Π΅, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… имССтся ΠΎΠ΄Π½Π° цСлСвая функция, ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‰Π°Ρ числСнныС значСния. ВСория Ρ‚Π°ΠΊΠΈΡ… Π·Π°Π΄Π°Ρ‡ называСтся матСматичСским ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ (ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ). Им ΠΏΡ€ΠΎΡ‚ивостоят Π·Π°Π΄Π°Ρ‡ΠΈ с Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΠΌΠΈ Ρ†Π΅Π»Π΅Π²Ρ‹ΠΌΠΈ функциями ΠΈΠ»ΠΈ с ΠΎΠ΄Π½ΠΎΠΉ Ρ†Π΅Π»Π΅Π²ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ, Π½ΠΎ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‰Π΅ΠΉ Π²Π΅ΠΊΡ‚ΠΎΡ€Π½Ρ‹Π΅ значСния (значСния Π±ΠΎΠ»Π΅Π΅ слоТной ΠΏΡ€ΠΈΡ€ΠΎΠ΄Ρ‹). Π­Ρ‚ΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ. Они Ρ€Π΅ΡˆΠ°ΡŽΡ‚ΡΡ ΠΏΡƒΡ‚Ρ‘ΠΌ свСдСния ΠΊ Π·Π°Π΄Π°Ρ‡Π°ΠΌ с Π΅Π΄ΠΈΠ½ΡΡ‚Π²Π΅Π½Π½ΠΎΠΉ Ρ†Π΅Π»Π΅Π²ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ Π»ΠΈΠ±ΠΎ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ использования Ρ‚Π΅ΠΎΡ€ΠΈΠΈ ΠΈΠ³Ρ€.

Одним ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ извСстных ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² исслСдования ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ являСтся ΠΌΠ΅Ρ‚ΠΎΠ΄ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠ³ΠΎ программирования, ΠΊΠΎΠ³Π΄Π° цСлСвая функция ΠΈ Π²ΡΠ΅ ограничСния ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹ΠΌΠΈ функциями.

Π—Π°Π΄Π°Ρ‡ΠΈ Π›ΠΈΠ½Π΅ΠΉΠ½ΠΎΠ³ΠΎ программирования ΡΠ²Π»ΡΡŽΡ‚ΡΡ матСматичСскими модСлями многочислСнных Π·Π°Π΄Π°Ρ‡ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΎ-экономичСского содСрТания. Π₯Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π½Ρ‹ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠ³ΠΎ программирования являСтся транспортная Π·Π°Π΄Π°Ρ‡Π°.

Для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ большого ΠΊΡ€ΡƒΠ³Π° Π·Π°Π΄Π°Ρ‡ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠ³ΠΎ программирования имССтся практичСски ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ — симплСкс ΠΌΠ΅Ρ‚ΠΎΠ΄, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ Π·Π° ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ΅ число ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° Π·Π°Π΄Π°Ρ‡. Π’ΠΈΠΏ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ Π½Π΅ ΡΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ся Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ примСнСния ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π½Π° ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ для ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌΡ‹Ρ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ Π½Π΅ Ρ‚рСбуСтся.

ЦСлью Π΄Π°Π½Π½ΠΎΠ³ΠΎ курсового ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° являСтся максимизации эффСктивности использования срСдств Π½Π° Ρ€Π΅ΠΊΠ»Π°ΠΌΡƒ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ†ΠΈΠΈ.

Π”Π°Π½Π½Ρ‹ΠΉ курсовой ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ Π² ΡΡ€Π΅Π΄Π΅ программирования NetBeans IDE 7.2. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π° Π² ΡΡ€Π΅Π΄Π΅ MS Excel.

1. ΠŸΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°Ρ‡ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ

Π€ΠΈΡ€ΠΌΠ° ΠΈΠΌΠ΅Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π΅ΠΊΠ»Π°ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ свою ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ†ΠΈΡŽ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ мСстныС Ρ€Π°Π΄ΠΈΠΎ ΠΈ Ρ‚Π΅Π»Π΅Π²ΠΈΠ·ΠΈΠΎΠ½Π½ΡƒΡŽ сСти. Π—Π°Ρ‚Ρ€Π°Ρ‚Ρ‹ Π½Π° Ρ€Π΅ΠΊΠ»Π°ΠΌΡƒ Π² Π±ΡŽΠ΄ΠΆΠ΅Ρ‚Π΅ Ρ„ΠΈΡ€ΠΌΡ‹ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Ρ‹ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½ΠΎΠΉ 1000 $ Π² ΠΌΠ΅ΡΡΡ†. ΠšΠ°ΠΆΠ΄Ρ‹Π΅ 60 сСкунд Ρ€Π°Π΄ΠΈΠΎΡ€Π΅ΠΊΠ»Π°ΠΌΡ‹ обходится Π² 5 $, Π° ΠΊΠ°ΠΆΠ΄Ρ‹Π΅ 60 сСкунд Ρ‚Π΅Π»Π΅Ρ€Π΅ΠΊΠ»Π°ΠΌΡ‹ — Π² 100 $. Π€ΠΈΡ€ΠΌΠ° Ρ…ΠΎΡ‚Π΅Π»Π° Π±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π΄ΠΈΠΎΡΠ΅Ρ‚ΡŒ ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ ΠΌΠ΅Ρ€Π΅ Π² Π΄Π²Π° Ρ€Π°Π·Π° Ρ‡Π°Ρ‰Π΅, Ρ‡Π΅ΠΌ ΡΠ΅Ρ‚ΡŒ тСлСвидСния, Π° Ρ‚Π°ΠΊ ΠΆΠ΅ приобрСсти врСмя для Ρ€Π΅ΠΊΠ»Π°ΠΌΡ‹ Π½Π° Ρ‚Π΅Π»Π΅Π²ΠΈΠ΄Π΅Π½ΠΈΠΈ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ 300 сСкунд. Из ΠΎΠΏΡ‹Ρ‚Π° извСстно, Ρ‡Ρ‚ΠΎ объСм сбыта ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ ΠΊΠ°ΠΆΠ΄Ρ‹Π΅ 60 сСкунд Ρ‚Π΅Π»Π΅Ρ€Π΅ΠΊΠ»Π°ΠΌΡ‹, Π² 25 Ρ€Π°Π· большС сбыта, обСспСчиваСмого 60 сСкундами Ρ€Π°Π΄ΠΈΠΎΡ€Π΅ΠΊΠ»Π°ΠΌΡ‹.

2. Базовая аналитичСская модСль

Π’ Π΄Π°Π½Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡Π΅ трСбуСтся ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Ρ€Π°ΡΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ срСдства Π½Π° Ρ€Π΅ΠΊΠ»Π°ΠΌΡƒ, Ρ‡Ρ‚ΠΎ Π±Ρ‹ сбыт ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ†ΠΈΠΈ Π±Ρ‹Π» ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ.

Для построСния матСматичСской ΠΌΠΎΠ΄Π΅Π»ΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ Π²Π²Π΅Π΄Π΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅:

Β· ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡ΠΈΠΌ Ρ‡Π΅Ρ€Π΅Π· Π²Π΅ΠΊΡ‚ΠΎΡ€ количСство сСкунд Ρ€Π΅ΠΊΠ»Π°ΠΌΡ‹ Π² ΠΌΠ΅ΡΡΡ†: — врСмя Ρ€Π΅ΠΊΠ»Π°ΠΌΡ‹ Π½Π° Ρ€Π°Π΄ΠΈΠΎ, — врСмя Ρ€Π΅ΠΊΠ»Π°ΠΌΡ‹ Π½Π° TV.

Β· Π—Π°Ρ‚Ρ€Π°Ρ‚Ρ‹ Π½Π° Ρ€Π΅ΠΊΠ»Π°ΠΌΡƒ ΠΏΠΎ Ρ€Π°Π΄ΠΈΠΎ ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚, Π° Π·Π°Ρ‚Ρ€Π°Ρ‚Ρ‹ Π½Π° Ρ‚Π΅Π»Π΅Π²ΠΈΠ·ΠΈΠΎΠ½Π½ΡƒΡŽ Ρ€Π΅ΠΊΠ»Π°ΠΌΡƒ

Боставим ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π½Π° Ρ€Π°ΡΡ…ΠΎΠ΄ срСдств:

ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π½Π° Π·Π°Ρ‚Ρ€Π°Ρ‚Ρ‹ Π½Π° Ρ€Π΅ΠΊΠ»Π°ΠΌΡƒ ($):

ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π½Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ€Π°Π΄ΠΈΠΎ Ρ€Π΅ΠΊΠ»Π°ΠΌΡ‹ (сСк):

ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π½Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚Π΅Π»Π΅Π²ΠΈΠ·ΠΈΠΎΠ½Π½ΠΎΠΉ Ρ€Π΅ΠΊΠ»Π°ΠΌΡ‹ (сСк):

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΏΠΎ ΡΠ²ΠΎΠ΅ΠΌΡƒ физичСскому смыслу Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ значСния, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚ количСство сСкунд. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅: ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠΌ ΠΎΠ±Ρ‰ΡƒΡŽ ΠΏΡ€ΠΈΠ±Ρ‹Π»ΡŒ прСдприятия ΠΎΡ‚ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π΄Π²ΡƒΡ… Π²ΠΈΠ΄ΠΎΠ² ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ†ΠΈΠΈ. Зная Ρ‡Ρ‚ΠΎ экономичСский эффСкт ΠΎΡ‚ Ρ‚Π΅Π»Π΅Π²ΠΈΠ·ΠΈΠΎΠ½Π½ΠΎΠΉ Ρ€Π΅ΠΊΠ»Π°ΠΌΡ‹ Π±ΡƒΠ΄Π΅Ρ‚ Π² 25 Ρ€Π°Π· Π²Ρ‹ΡˆΠ΅ Ρ‡Π΅ΠΌ Ρ€Π°Π΄ΠΈΠΎ Ρ€Π΅ΠΊΠ»Π°ΠΌΡ‹, цСлСвая функция для Π΄Π°Π½Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π²ΠΈΠ΄: .

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅ΠΌ ΠΏΠΎΠ»Π½ΡƒΡŽ ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ модСль рассматриваСмой Π·Π°Π΄Π°Ρ‡ΠΈ:

3. ОбоснованиС Π²Ρ‹Π±ΠΎΡ€Π° матСматичСских ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ

ВсС ограничСния ΠΈ Ρ†Π΅Π»Π΅Π²Π°Ρ функция Π² Π΄Π°Π½Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡Π΅ Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹, поэтому для Π΅Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ симплСкс-ΠΌΠ΅Ρ‚ΠΎΠ΄.

ИдСя ΠΌΠ΅Ρ‚ΠΎΠ΄Π° проста ΠΈ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ся Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ. По ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ ΠΏΡ€Π°Π²ΠΈΠ»Ρƒ находится ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΠΏΠΎΡ€Π½Ρ‹ΠΉ ΠΏΠ»Π°Π½ (нСкоторая Π²Π΅Ρ€ΡˆΠΈΠ½Π° области ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ). ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅Ρ‚ΡΡ, являСтся Π»ΠΈ ΠΏΠ»Π°Π½ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ. Если Π΄Π°, Ρ‚ΠΎ Π·Π°Π΄Π°Ρ‡Π° Ρ€Π΅ΡˆΠ΅Π½Π°. Если Π½Π΅Ρ‚, Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ ΠΊ Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½Π½ΠΎΠΌΡƒ ΠΏΠ»Π°Π½Ρƒ — ΠΊ Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π²Π΅Ρ€ΡˆΠΈΠ½Π΅. Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ†Π΅Π»Π΅Π²ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π° ΡΡ‚ΠΎΠΌ ΠΏΠ»Π°Π½Π΅ (Π² ΡΡ‚ΠΎΠΉ Π²Π΅Ρ€ΡˆΠΈΠ½Π΅) Π·Π°Π²Π΅Π΄ΠΎΠΌΠΎ Π»ΡƒΡ‡ΡˆΠ΅, Ρ‡Π΅ΠΌ Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ. Алгоритм ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° осущСствляСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ шага, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡƒΠ΄ΠΎΠ±Π½ΠΎ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Π² Π²ΠΈΠ΄Π΅ Ρ‚Π°Π±Π»ΠΈΡ†, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… симплСкс-Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. Π’Π°ΠΊ ΠΊΠ°ΠΊ Π²Π΅Ρ€ΡˆΠΈΠ½ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ΅ число, Ρ‚ΠΎ Π·Π° ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ΅ число шагов ΠΌΡ‹ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΠΌ ΠΊ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠΌΡƒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡŽ.

Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ являСтся ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΌ, ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΡ‹ΠΌ ΠΊ Π»ΡŽΠ±ΠΎΠΉ Π·Π°Π΄Π°Ρ‡Π΅ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠ³ΠΎ программирования Π² ΠΊΠ°Π½ΠΎΠ½ΠΈΡ‡Π΅ΡΠΊΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅. БистСма ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ здСсь — систСма Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹Ρ… ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠΉ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ количСство нСизвСстных большС количСства ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠΉ.

Поиск Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ симплСкс-ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π² Ρ„ΠΎΡ€ΠΌΠ΅ симплСкс-Ρ‚Π°Π±Π»ΠΈΡ† ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ этапы:

1. Π—Π°ΠΏΠΈΡΡŒ Π·Π°Π΄Π°Ρ‡ΠΈ Π² ΡΠΈΠΌΠΏΠ»Π΅ΠΊΡ-Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ.

2. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΏΠ»Π°Π½Π° Π½Π° ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ. Если Π² ΠΈΠ½Π΄Π΅ΠΊΡΠ½ΠΎΠΉ строкС Π½Π΅Ρ‚ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… элСмСнтов, Π·Π½Π°Ρ‡ΠΈΡ‚, ΠΏΠ»Π°Π½ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»Π΅Π½. Если найдСтся коэффициСнт индСксной строки мСньшС нуля, Π² ΡΡ‚Ρ€ΠΎΠΊΠ΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π΅ΡΡ‚ΡŒ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ элСмСнт, Ρ‚ΠΎ ΠΏΠ»Π°Π½ Π½Π΅ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ (ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ ΠΊ III этапу).

3. ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π²Π΅Π΄ΡƒΡ‰ΠΈΡ… строки ΠΈ ΡΡ‚ΠΎΠ»Π±Ρ†Π°. Из ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… коэффициСнтов индСксной строки выбираСтся Ρ€Π°Π·Ρ€Π΅ΡˆΠ°ΡŽΡ‰ΠΈΠΉ столбСц. Находим минимальноС ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ свободного Ρ‡Π»Π΅Π½Π° ΠΈ ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚Π° ΠΈΠ· Π²Π΅Π΄ΡƒΡ‰Π΅Π³ΠΎ столбца ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ Π²Π΅Π΄ΡƒΡ‰ΠΈΠΉ столбСц.

4. ΠŸΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΏΠΎΡ€Π½ΠΎΠ³ΠΎ ΠΏΠ»Π°Π½Π°. ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ ΠΊ Π½ΠΎΠ²ΠΎΠΌΡƒ ΠΏΠ»Π°Π½Ρƒ осущСствляСтся Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ пСрСсчСта симплСксной Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹.

Рисунок 3.1 Π‘Π»ΠΎΠΊ схСма ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π’ ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ симплСкс ΠΌΠ΅Ρ‚ΠΎΠ΄.

Π’ ΠΎΡΠ½ΠΎΠ²Ρƒ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ симплСкс-ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Ρ‹ Ρ‚Π°ΠΊΠΈΠ΅ особСнности Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΉ Π°Π»Π³Π΅Π±Ρ€Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π² Ρ…ΠΎΠ΄Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Ρ‡Π°ΡΡ‚ΡŒΡŽ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ. Иногда ΠΌΠ΅Ρ‚ΠΎΠ΄ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹.

Π’ ΠΏΡ€ΠΎΡ†Π΅ΡΡΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° происходит спонтанноС ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ ΠΏΠΎ Ρ‡Π°ΡΡ‚ям, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΌ базисным Π²Π΅ΠΊΡ‚ΠΎΡ€Π°ΠΌ. Указанная ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ Π΄Π΅Π»Π°Π΅Ρ‚ вСсьма ΠΏΡ€ΠΈΠ²Π»Π΅ΠΊΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Π½ΡƒΡŽ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ вычислСний вслСдствиС экономии памяти ΠΏΠΎΠ΄ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ сокращСния Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ счёта. ΠœΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ симплСкс-ΠΌΠ΅Ρ‚ΠΎΠ΄ Ρ…ΠΎΡ€ΠΎΡˆ для ситуаций, ΠΊΠΎΠ³Π΄Π° число ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… n Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Π΅Ρ‚ число ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ m.

Он ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ прСимущСства:

1. ΠŸΡ€ΠΎΡΡ‚ΠΎΡ‚Π°.

2. Π­Ρ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹.

3. МСньшСС количСство Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ.

4. МСньший объСм памяти Π­Π’Πœ.

Поиск Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ симплСкс-ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ этапы:

1.

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅

искусствСнного базиса (Π΅Π΄ΠΈΠ½ΠΈΡ‡Π½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹) ΠΈ ΠΏΠΎΠΈΡΠΊ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΎΠΏΠΎΡ€Π½ΠΎΠ³ΠΎ ΠΏΠ»Π°Π½Π° (Π±Π΅Π· ΡƒΡ‡Π΅Ρ‚Π° Ρ†Π΅Π»Π΅Π²ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ).

2. Поиск ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Ρ†Π΅Π»Π΅Π²ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

4. РСшСниС Π·Π°Π΄Π°Ρ‡ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ

4.1 Алгоритмы Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ

РСшим ΠΏΡ€ΡΠΌΡƒΡŽ Π·Π°Π΄Π°Ρ‡Ρƒ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠ³ΠΎ программирования симплСксным ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ, с ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ симплСксной Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹.

ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠΌ минимальноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ†Π΅Π»Π΅Π²ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ:

ΠΏΡ€ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… условиях ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ:

Для построСния ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΎΠΏΠΎΡ€Π½ΠΎΠ³ΠΎ ΠΏΠ»Π°Π½Π° систСму нСравСнств ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅ΠΌ ΠΊ ΡΠΈΡΡ‚Π΅ΠΌΠ΅ ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠΉ ΠΏΡƒΡ‚Π΅ΠΌ ввСдСния Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… (ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ ΠΊ ΠΊΠ°Π½ΠΎΠ½ΠΈΡ‡Π΅ΡΠΊΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅). Если Π² ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅ΠΌΠΎΠΌ нСравСнствС стоит Π·Π½Π°ΠΊ ?, Ρ‚ΠΎ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π΅ ΠΊ Ρ€Π°Π²Π΅Π½ΡΡ‚Π²Ρƒ Π·Π½Π°ΠΊΠΈ всСх Π΅Π³ΠΎ коэффициСнтов ΠΈ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½Ρ‹Ρ… Ρ‡Π»Π΅Π½ΠΎΠ² ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ Π½Π° ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½Ρ‹Π΅.

ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ ΠΊ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ исходной симплСкс Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹. Π’ ΡΡ‚Ρ€ΠΎΠΊΡƒ F Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ заносятся коэффициСнты Ρ†Π΅Π»Π΅Π²ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Π’Π°ΠΊ ΠΊΠ°ΠΊ Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΠΉΡ‚ΠΈ максимум Ρ†Π΅Π»Π΅Π²ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Ρ‚ΠΎ Π² Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ заносятся коэффициСнты с ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½Ρ‹ΠΌ Π·Π½Π°ΠΊΠΎΠΌ. Из Π΄Π°Π½Π½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡ΠΈ составляСм ΠΈΡΡ…ΠΎΠ΄Π½ΡƒΡŽ симплСкс Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ.

X1

X2

Π‘Π²ΠΎΠ±ΠΎΠ΄Π½Ρ‹ΠΉ Ρ‡Π»Π΅Π½

F

— 1

— 25

X3

0,083

1,1667

X4

— 1

X5

— 1

— 300

Π’ ΡΠΎΡΡ‚Π°Π²Π»Π΅Π½Π½ΠΎΠΉ Π½Π°ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ элСмСнты Π² ΡΡ‚ΠΎΠ»Π±Ρ†Π΅ свободных Ρ‡Π»Π΅Π½ΠΎΠ², Π½Π°Ρ…ΠΎΠ΄ΠΈΠΌ срСди Π½ΠΈΡ… ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠΎ ΠΌΠΎΠ΄ΡƒΠ»ΡŽ — это элСмСнт: -300, ΠΎΠ½ Π·Π°Π΄Π°Π΅Ρ‚ Π²Π΅Π΄ΡƒΡ‰ΡƒΡŽ строку — X5. Π’ ΡΡ‚ΠΎΠΉ строкС Ρ‚Π°ΠΊ ΠΆΠ΅ Π½Π°Ρ…ΠΎΠ΄ΠΈΠΌ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠΎ ΠΌΠΎΠ΄ΡƒΠ»ΡŽ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ элСмСнт: -1 ΠΎΠ½ Π½Π°Ρ…одится Π² ΡΡ‚ΠΎΠ»Π±Ρ†Π΅ X2 ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ Π²Π΅Π΄ΡƒΡ‰ΠΈΠΌ столбцом. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ Π² Π²Π΅Π΄ΡƒΡ‰Π΅ΠΉ строкС ΠΈΡΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΈΠ· Π±Π°Π·ΠΈΡΠ°, Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π°Ρ Π²Π΅Π΄ΡƒΡ‰Π΅ΠΌΡƒ столбцу Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Π±Π°Π·ΠΈΡ. ΠŸΠ΅Ρ€Π΅ΡΡ‡ΠΈΡ‚Π°Π΅ΠΌ симплСкс-Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ:

X1

X5

Π‘Π²ΠΎΠ±ΠΎΠ΄Π½Ρ‹ΠΉ Ρ‡Π»Π΅Π½

F

— 1

— 25

X3

0.083

1.667

X4

— 1

— 600

X2

— 1

Π’ ΡΠΎΡΡ‚Π°Π²Π»Π΅Π½Π½ΠΎΠΉ Π½Π°ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ элСмСнты Π² ΡΡ‚ΠΎΠ»Π±Ρ†Π΅ свободных Ρ‡Π»Π΅Π½ΠΎΠ², Π½Π°Ρ…ΠΎΠ΄ΠΈΠΌ срСди Π½ΠΈΡ… ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠΎ ΠΌΠΎΠ΄ΡƒΠ»ΡŽ — это элСмСнт: -600, ΠΎΠ½ Π·Π°Π΄Π°Π΅Ρ‚ Π²Π΅Π΄ΡƒΡ‰ΡƒΡŽ строку — X4. Π’ ΡΡ‚ΠΎΠΉ строкС Ρ‚Π°ΠΊ ΠΆΠ΅ Π½Π°Ρ…ΠΎΠ΄ΠΈΠΌ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠΎ ΠΌΠΎΠ΄ΡƒΠ»ΡŽ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ элСмСнт: -1 ΠΎΠ½ Π½Π°Ρ…одится Π² ΡΡ‚ΠΎΠ»Π±Ρ†Π΅ X1, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ Π²Π΅Π΄ΡƒΡ‰ΠΈΠΌ столбцом. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ Π² Π²Π΅Π΄ΡƒΡ‰Π΅ΠΉ строкС ΠΈΡΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΈΠ· Π±Π°Π·ΠΈΡΠ°, Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π°Ρ Π²Π΅Π΄ΡƒΡ‰Π΅ΠΌΡƒ столбцу Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Π±Π°Π·ΠΈΡ. ΠŸΠ΅Ρ€Π΅ΡΡ‡ΠΈΡ‚Π°Π΅ΠΌ симплСкс-Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ:

X4

X5

Π‘Π²ΠΎΠ±ΠΎΠ΄Π½Ρ‹ΠΉ Ρ‡Π»Π΅Π½

F

— 1

— 27

X3

0.083

1.833

X1

— 1

— 2

X2

— 0

— 1

Π’Π°ΠΊ ΠΊΠ°ΠΊ Π² ΡΡ‚ΠΎΠ»Π±Ρ†Π΅ свободных Ρ‡Π»Π΅Π½ΠΎΠ² Π½Π΅Ρ‚ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… элСмСнтов, Ρ‚ΠΎ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ допустимоС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅. Π’ ΡΡ‚Ρ€ΠΎΠΊΠ΅ F ΠΈΠΌΠ΅ΡŽΡ‚ся ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ элСмСнты, это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π½Π΅ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎ. ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠΌ Π²Π΅Π΄ΡƒΡ‰ΠΈΠΉ столбСц. Для этого Π½Π°ΠΉΠ΄Π΅ΠΌ Π² ΡΡ‚Ρ€ΠΎΠΊΠ΅ F ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠΎ ΠΌΠΎΠ΄ΡƒΠ»ΡŽ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ элСмСнт — это -27 Π’Π΅Π΄ΡƒΡ‰Π΅ΠΉ строкой Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚Π°, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ свободного Ρ‡Π»Π΅Π½Π° ΠΊ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΌΡƒ элСмСнту Π²Π΅Π΄ΡƒΡ‰Π΅Π³ΠΎ столбца минимально. Π’Π΅Π΄ΡƒΡ‰Π΅ΠΉ строкой являСтся X3, Π° Π²Π΅Π΄ΡƒΡ‰ΠΈΠΉ элСмСнт: 1.833.

X4

X3

Π‘Π²ΠΎΠ±ΠΎΠ΄Π½Ρ‹ΠΉ Ρ‡Π»Π΅Π½

F

0.223

14.729

14 722.21

X5

0.045

0.531

246.04

X1

— 0.91

1.09

1092.08

X2

0.04

0.55

545.14

Π’Π°ΠΊ ΠΊΠ°ΠΊ Π² ΡΡ‚Ρ€ΠΎΠΊΠ΅ F Π½Π΅Ρ‚ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… элСмСнтов, Ρ‚ΠΎ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅: F=14 722, ΠΏΡ€ΠΈ значСниях ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Ρ€Π°Π²Π½Ρ‹Ρ…: X1=1092, X2=545.

РСшим ΠΏΡ€ΡΠΌΡƒΡŽ Π·Π°Π΄Π°Ρ‡Ρƒ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠ³ΠΎ программирования ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ симплСксным ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ

ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠΌ максимальноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ†Π΅Π»Π΅Π²ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ F (X) = x1+25x2 ΠΏΡ€ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… условиях — ограничСниях.

0.083x1+1.667x2?1000

x1-2x2?0

x2?300

0.083x1 + 1.667x2 + 1x3 + 0x4 + 0x5 = 1000

1x1-2x2 + 0x3-1x4 + 0x5 = 0

0x1 + 1x2 + 0x3 + 0x4-1x5 = 300

ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ этап. Для нахоТдСния Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ допустимой Π±Π°Π·Ρ‹ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ искусствСнного базиса. ИмССм:

Базис

ЗначСния

X1

X2

X3

X4

X5

X6

X7

0.083

1.667

— 2

— 1

— 1

ЦСлСвая функция

— 1

— 25

Π˜ΡΠΊΡƒΡΡΡ‚Π²Π΅Π½Π½Π°Ρ функция

ΠœΠ°Ρ‚Ρ€ΠΈΡ†Π° коэффициСнтов A = aij

0.083

1.67

— 1

— 1

ΠœΠ°Ρ‚Ρ€ΠΈΡ†Π° b.

Π˜Ρ‚Π΅Ρ€Π°Ρ†ΠΈΡ № 1.

БазисныС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅: = (3, 6, 7)

ΠœΠ°Ρ‚Ρ€ΠΈΡ†Π° C:

C = (0, 0, 0, 0, 0, 1, 1)

CB (3,6,7) = (0, 1, 1)

CN (1,2,4,5) = (0, 0, 0, 0)

ΠœΠ°Ρ‚Ρ€ΠΈΡ†Π° N Ρ„ормируСтся ΠΈΠ· ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹, А ΠΈΠ· ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… столбцов с Π½ΠΎΠΌΠ΅Ρ€Π°ΠΌΠΈ N.

ВычисляСм:

u = CBB-1 = (0, 1, 1)

Π£ΠΌΠ½ΠΎΠΆΠ°Π΅ΠΌ Π²Π΅ΠΊΡ‚ΠΎΡ€ u Π½Π° ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ N: uN = (1, -1, -1, -1)

C* = CN — uN = (-1, 1, 1, 1)

ΠžΡ‚ΠΊΡƒΠ΄Π° Π½ΠΎΠΌΠ΅Ρ€ Π½Π°ΠΏΡ€Π°Π²Π»ΡΡŽΡ‰Π΅Π³ΠΎ столбца s = 1 (индСкс максимального ΠΏΠΎ ΠΌΠΎΠ΄ΡƒΠ»ΡŽ значСния ΠΈΠ· ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… элСмСнтов).

a* = B-1 (a11,…, am1)T = (0.083, 0, 0)T

min (1000:0.083 = 12 048.19;0:1 = 0;-;) = 0

ΠžΡ‚ΠΊΡƒΠ΄Π° Π½ΠΎΠΌΠ΅Ρ€ Π½Π°ΠΏΡ€Π°Π²Π»ΡΡŽΡ‰Π΅ΠΉ строки r = 2 (индСкс минимального значСния).

Π˜Ρ‚Π΅Ρ€Π°Ρ†ΠΈΡ № 2.

ΠœΠ°Ρ‚Ρ€ΠΈΡ†Π° C.

C = (-1, 1, 0, 1, 1, 0, 0)

a* = B-1 (a11,…, am1)T = (1.83, 0, 0)T

min (1000:1.83 = 545.55;-;300:1 = 300;) = 300

Π˜Ρ‚Π΅Ρ€Π°Ρ†ΠΈΡ № 3.

ΠœΠ°Ρ‚Ρ€ΠΈΡ†Π° C.

C = (0, -1, 0, 0, 1, 1, 0)

Π’Π΅ΠΊΡ‚ΠΎΡ€ Π‘ Π½Π΅ ΡΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… элСмСнтов. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ этап симплСкс-ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½.

Π’Ρ‚ΠΎΡ€ΠΎΠΉ этап. УдаляСм столбцы с ΠΈΡΠΊΡƒΡΡΡ‚Π²Π΅Π½Π½Ρ‹ΠΌΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ. Π—Π°ΠΌΠ΅Π½ΠΈΠΌ Π²Π΅ΠΊΡ‚ΠΎΡ€ ΠΎΡ†Π΅Π½ΠΎΠΊ Π‘ Π½Π° Ρ†Π΅Π»Π΅Π²ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ.

Π’Ρ‹Ρ€Π°Π·ΠΈΠΌ базисныС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅:

x1 = 600-x4-2x5

x2 = 300-x5

ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ подставим Π² Ρ†Π΅Π»Π΅Π²ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ:

F (X) = 8100+x4+27x5

ИмССм:

ΠœΠ°Ρ‚Ρ€ΠΈΡ†Π° коэффициСнтов A = aij

ΠœΠ°Ρ‚Ρ€ΠΈΡ†Π° b.

Π˜Ρ‚Π΅Ρ€Π°Ρ†ΠΈΡ № 1.

БазисныС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅: = (3, 1, 2)

ΠœΠ°Ρ‚Ρ€ΠΈΡ†Π° C:

C = (0, 0, 0, -1, -27)

CB (3,1,2) = (0, 0, 0)

CN (4,5) = (-1, -27, 0, 0)

ΠœΠ°Ρ‚Ρ€ΠΈΡ†Π° N Ρ„ормируСтся ΠΈΠ· ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹, А ΠΈΠ· ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… столбцов с Π½ΠΎΠΌΠ΅Ρ€Π°ΠΌΠΈ N.

ВычисляСм:

u = cBB-1 = (0, 0, 0)

Π£ΠΌΠ½ΠΎΠΆΠ°Π΅ΠΌ Π²Π΅ΠΊΡ‚ΠΎΡ€ u Π½Π° ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ N: uN = (0, 0, 0, 0)

C* = CN — uN = (-1, -27, 0, 0)

ΠžΡ‚ΠΊΡƒΠ΄Π° Π½ΠΎΠΌΠ΅Ρ€ Π½Π°ΠΏΡ€Π°Π²Π»ΡΡŽΡ‰Π΅Π³ΠΎ столбца s = 2 (индСкс максимального ΠΏΠΎ ΠΌΠΎΠ΄ΡƒΠ»ΡŽ значСния ΠΈΠ· ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… элСмСнтов).

a* = B-1 (a12,…, am2)T = (1.83, 0, 0)T

min (450.1:1.83 = 245.55;-;-;) = 245.55

ΠžΡ‚ΠΊΡƒΠ΄Π° Π½ΠΎΠΌΠ΅Ρ€ Π½Π°ΠΏΡ€Π°Π²Π»ΡΡŽΡ‰Π΅ΠΉ строки r = 1 (индСкс минимального значСния).

Π˜Ρ‚Π΅Ρ€Π°Ρ†ΠΈΡ № 2.

ΠœΠ°Ρ‚Ρ€ΠΈΡ†Π° C:

C = (0, 0, 0, -1, -27)

Π’Π΅ΠΊΡ‚ΠΎΡ€ Π‘ Π½Π΅ ΡΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… элСмСнтов. НайдСно ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ X.

Π’Π΅ΠΊΡ‚ΠΎΡ€ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² X = (1091.11, 545.55)T

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ†Π΅Π»Π΅Π²ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ F (X) = b x c = 14 729.95

Π’Π°ΠΊ ΠΊΠ°ΠΊ Π² ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ искусствСнныС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ (ΠΎΠ½ΠΈ Ρ€Π°Π²Π½Ρ‹ Π½ΡƒΠ»ΡŽ), Ρ‚ΠΎ Π΄Π°Π½Π½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ являСтся допустимым.

ΠžΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ»Π°Π½ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ‚Π°ΠΊ:

x1 = 1091.11

x2 = 545.55

F (X) = 1*1091.11 + 25*545.55 = 14 729.95

Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΠΌ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π² ΡΡ€Π΅Π΄Π΅ MS Excel. Π’Π²Π΅Π΄Π΅ΠΌ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ исходных Π΄Π°Π½Π½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡ΠΈ, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ надстройки «ΠŸΠΎΠΈΡΠΊ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ» установим всС Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡ‹Π΅ ограничСния ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠΌ Π΄Π°Π½Π½ΡƒΡŽ Π·Π°Π΄Π°Ρ‡Ρƒ (рисунок 4.1 — 4.2).

Рисунок 4.1 — Окно «ΠŸΠΎΠΈΡΠΊ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ»

Рисунок 4.2 — Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ выполнСния ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Как Π²ΠΈΠ΄Π½ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹, Π½Π°ΠΉΠ΄Π΅Π½Π½Ρ‹Π΅ Π² ΡΡ€Π΅Π΄Π΅ MS Excel, ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚ с Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°ΠΌΠΈ, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΌΠΈ Ρ€Π°Π½Π΅Π΅, Ρ‡Ρ‚ΠΎ ΡΠ²ΠΈΠ΄Π΅Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΡƒΠ΅Ρ‚ ΠΎΠ± ΠΈΡ… ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

4.2 ОписаниС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°

Π‘Ρ…Π΅ΠΌΠ° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΎΡ‚Ρ€Π°ΠΆΠ°Π΅Ρ‚ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΡŽ ΠΎΠΊΠΎΠ½ прилоТСния. Π‘Ρ…Π΅ΠΌΠ° прСдставлСна Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 4.3.

Рисунок 4.3 — Π‘Ρ…Π΅ΠΌΠ° прилоТСния

Π‘Ρ…Π΅ΠΌΠ° классов ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° прСдставлСна Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 4.4. РСализация Ρ‚Π°Π±Π»ΠΈΡ‡Π½ΠΎΠ³ΠΎ симплСкс-ΠΌΠ΅Ρ‚ΠΎΠ΄Π° содСрТится Π² ΠΊΠ»Π°ΡΡΠ΅ ClassTablSimpl. Класс ClassModifSimpl слуТит для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ симплСкс-ΠΌΠ΅Ρ‚ΠΎΠ΄Π°. Класс MarkaKlass ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° Π²Ρ‹Π±ΠΎΡ€ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ.

Π Π°Π±ΠΎΡ‚Π° прилоТСния начинаСтся с ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π° задания ΠΈ ΠΌΠ΅Π½ΡŽ Π²Ρ‹Π±ΠΎΡ€Π° ΠΆΠ΅Π»Π°Π΅ΠΌΠΎΠ³ΠΎ дСйствия для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ (рисунок 4.5).

ΠŸΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ «ΠœΠ°Ρ‚СматичСская модСль» открываСтся ΠΎΠΊΠ½ΠΎ просмотра Π·Π°Π΄Π°Ρ‡ΠΈ курсового ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈ ΠΌΠ°Ρ‚СматичСской ΠΌΠΎΠ΄Π΅Π»ΠΈ (рисунок 4.6).

ΠŸΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ «Π‘имплСкс» открываСтся ΠΎΠΊΠ½ΠΎ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ Ρ‚Π°Π±Π»ΠΈΡ‡Π½Ρ‹ΠΌ симплСкс-ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ. Π€ΠΎΡ€ΠΌΠ° ΠΎΠΊΠ½Π° содСрТит ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ содСрТащиС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹-Π΄Π°Π½Π½Ρ‹Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ. И ΠΏΠΎΠ»Π΅ просмотра ΠΏΠΎΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ. ΠŸΡƒΠ½ΠΊΡ‚ мСню «Π Π°ΡΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ» слуТит для нахоТдСния ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΠ»Π°Π½Π° нашСй Π·Π°Π΄Π°Ρ‡ΠΈ, ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π° ΠΏΠΎΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ (рисунок 4.7).

Рисунок 4.4 — Π‘Ρ…Π΅ΠΌΠ° классов Рисунок 4.5 — Окно Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ мСню прилоТСния Рисунок 4.6 — Окно «ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΠ°Ρ модСль»

Рисунок 4.7 — Окно «Π‘имплСкс»

Π’Ρ‹Π±Ρ€Π°Π² ΠΏΡƒΠ½ΠΊΡ‚ мСню «Π­ΠΊΡΠΏΠΎΡ€Ρ‚ Π² Word» Π² ΠΎΠΊΠ½Π΅ «Π‘имплСкс» ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΡΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, для этого Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π½ΡƒΠΆΠ½Ρ‹ΠΉ ΠΏΡƒΠ½ΠΊΡ‚ мСню (рисунок 4.8). И Π² ΠΏΠΎΡΠ²ΠΈΠ²ΡˆΠ΅ΠΌΡΡ ΠΎΠΊΠ½Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΡƒΡ‚ΡŒ ΠΈ ΠΈΠΌΡ Ρ„Π°ΠΉΠ»Π° для экспорта (рисунок 4.9). РСшСниС ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒΡΡ Π² Ρ„Π°ΠΉΠ»Π΅ MS Word. (рисунок 4.10).

Рисунок 4.8 — МСню ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΎΠΊΠ½Π° «Π‘имплСкс»

Рисунок 4.9 — Экспорт Ρ„Π°ΠΉΠ»Π°

Рисунок 4.10 — ΠŸΠΎΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ симплСкс-ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ.

Экспорт Π² Excel слуТит для создания шаблона Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ нашСй Π·Π°Π΄Π°Ρ‡ΠΈ Π² MS Excel (рисунок 4.11). Π’Π°ΠΊ ΠΆΠ΅ Ρ‚ΡƒΡ‚ находится ΠΏΡƒΠ½ΠΊΡ‚ мСню «Π‘ΠΏΡ€Π°Π²ΠΊΠ°», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΊΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚Π½ΡƒΡŽ справку, которая ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π² Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ (рисунок 4.12).

Рисунок 4.11 — Π¨Π°Π±Π»ΠΎΠ½ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ Π² MS Excel

Рисунок 4.12 — Π‘ΠΏΡ€Π°Π²ΠΊΠ°

ΠŸΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ «Π‘имплСкс ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ» открываСтся ΠΎΠΊΠ½ΠΎ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ симплСкс-ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ. Π€ΠΎΡ€ΠΌΠ° ΠΎΠΊΠ½Π° Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Π° Ρ„ΠΎΡ€ΠΌΠ΅ «Π‘имплСкс». Π€ΠΎΡ€ΠΌΠ° содСрТит ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ содСрТащиС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹-Π΄Π°Π½Π½Ρ‹Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ, ΠΈ ΠΏΠΎΠ»Π΅ просмотра ΠΏΠΎΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ. (рисунок 4.13). ΠŸΠΎΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ прСдставлСно Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 4.14−4.15.

Рисунок 4.13 — Окно «ΠœΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ симплСкс»

Рисунок 4.14 — ΠŸΠΎΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅

Рисунок 4.15 — ΠŸΠΎΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚ с Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°ΠΌΠΈ аналитичСского Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ, Π² ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… ΠΏΠΎΠ³Ρ€Π΅ΡˆΠ½ΠΎΡΡ‚ΠΈ, Ρ‡Ρ‚ΠΎ ΡΠ²ΠΈΠ΄Π΅Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΡƒΠ΅Ρ‚ ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ прилоТСния.

5. Π˜ΡΠΏΡ‹Ρ‚Π°Π½ΠΈΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π½Π° Ρ‡ΡƒΠ²ΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ

Ρ€Π΅ΠΊΠ»Π°ΠΌΠ° врСмя ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ симплСкс

Π˜ΡΠΏΡ‹Ρ‚Π°Π½ΠΈΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π½Π° Ρ‡ΡƒΠ²ΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΎ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ сСрвиса Excel «ΠŸΠΎΠΈΡΠΊ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ».

Анализ Ρ‡ΡƒΠ²ΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ состоит ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… этапов:

1. Π’Ρ‹Π±ΠΎΡ€ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ показатСля, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°, ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΈ Ρ€Π°ΡΡΡ‡ΠΈΡ‚ываСтся Ρ‡ΡƒΠ²ΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

Π’ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Π΅ΠΌΠΎΠΉ Π·Π°Π΄Π°Ρ‡Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ интСрСс вопрос ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ повлияСт Π½Π° ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ (ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΠ΅) Π±ΡŽΠ΄ΠΆΠ΅Ρ‚Π° Π½Π° Ρ€Π΅ΠΊΠ»Π°ΠΌΡƒ.

2. Π’Ρ‹Π±ΠΎΡ€ Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Π»ΠΈΡΡŽΡ‚ Π½Π° ΡΡ‚ΠΈ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ.

Π’ Π΄Π°Π½Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡Π΅ Ρ‚Π°ΠΊΠΈΠΌ Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΎΠΌ являСтся количСство срСдств ΠΎΡ‚Π²Π΅Π΄Π΅Π½Π½Ρ‹Ρ… Π½Π° Ρ€Π΅ΠΊΠ»Π°ΠΌΡƒ, ΠΈ ΠΊΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΎΡ‚Π²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ Π½Π° Ρ€Π°Π΄ΠΈΠΎ ΠΈ Ρ‚Π΅Π»Π΅Π²ΠΈΠ·ΠΈΠΎΠ½Π½ΡƒΡŽ Ρ€Π΅ΠΊΠ»Π°ΠΌΡƒ.

3. РасчСт Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… этапах Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

На Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 5.1−5.2 ΠΏΠΎΠΊΠ°Π·Π°Π½ лист ΠΎΡ‚Ρ‡Π΅Ρ‚Π° ΠΏΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°ΠΌ MS Excel, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ Π±ΡŽΠ΄ΠΆΠ΅Ρ‚ ΠΈ ΠΏΡ€ΠΎΠΏΠΎΡ€Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π° Ρ€Π΅ΠΊΠ»Π°ΠΌΡƒ прямо ΠΏΡ€ΠΎΠΏΠΎΡ€Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ Π²Π»ΠΈΡΡŽΡ‚ Π½Π° ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Π²Ρ‹Π³ΠΎΠ΄Ρƒ ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ.

Рисунок 5.1 — ΠžΡ‚Ρ‡Ρ‘Ρ‚ ΠΏΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°ΠΌ Рисунок 5.2 — Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ поиска Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Если ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ количСство Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π° Ρ€Π°Π΄ΠΈΠΎ ΠΈ Ρ‚Π΅Π»Π΅Π²ΠΈΠ·ΠΈΠΎΠ½Π½ΡƒΡŽ Ρ€Π΅ΠΊΠ»Π°ΠΌΡƒ Π½Π° 2000 ΠΈ 500 соотвСтствСнно. И ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΠ΅ эффСктивности Ρ€Π΅ΠΊΠ»Π°ΠΌΡ‹. На Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 5.3 ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΎ, Ρ‡Ρ‚ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ являСтся СдинствСнным Π²Π΅Ρ€Π½Ρ‹ΠΌ ΠΈ Π±Π΅Π· ΠΏΠΎΡ‚Π΅Ρ€ΠΈ эффСктивности ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ нСльзя.

Рисунок 5.3 — Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ поиска Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Учитывая Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ Ρ€Π΅ΠΊΠ»Π°ΠΌΡ‹ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ зависит ΠΎΡ‚ Π±ΡŽΠ΄ΠΆΠ΅Ρ‚Π°, ΠΏΡ€ΠΈ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠΈ Π±ΡŽΠ΄ΠΆΠ΅Ρ‚Π° Π΄ΠΎ 1100 условных Π΅Π΄ΠΈΠ½ΠΈΡ†. ЭкономичСский эффСкт возрастСт.

Рисунок 5.4 — Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ поиска Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ курсового ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° являСтся Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΎ Ρ€Π°ΡΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π° Ρ€Π΅ΠΊΠ»Π°ΠΌΡƒ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π΄ΠΈΠΎ ΠΈ Ρ‚Π΅Π»Π΅Π²ΠΈΠ΄Π΅Π½ΠΈΠ΅ΠΌ.

РСшСниС ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΠ»ΠΎΡΡŒ двумя ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ: Ρ‚Π°Π±Π»ΠΈΡ‡Π½Ρ‹ΠΌ симплСкс-ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ ΠΈ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ симплСкс-ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ.

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°ΠΌΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ стали:

— ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ΅ распрСдСлСниС Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ Ρ€Π΅ΠΊΠ»Π°ΠΌΡ‹ ;

— ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Π°Ρ ΡƒΠ΄Π΅Π»ΡŒΠ½Π°Ρ ΠΏΡ€ΠΈΠ±Ρ‹Π»ΡŒ ΠΎΡ‚ Ρ€Π΅ΠΊΠ»Π°ΠΌΡ‹;

Π’ ΠΏΡ€ΠΎΡ†Π΅ΡΡΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ сдСланы ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π²Ρ‹Π²ΠΎΠ΄Ρ‹:

— ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ являСтся СдинствСнно ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ;

— ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π±ΡŽΠ΄ΠΆΠ΅Ρ‚Π° прямо ΠΏΡ€ΠΎΠΏΠΎΡ€Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ влияСт Π½Π° ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ΄Π°ΠΆ.

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

Π‘ΠΎΠ»ΡŒΡˆΠΈΠΌ прСимущСством ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½Π½ΠΎΠ³ΠΎ симплСкс-ΠΌΠ΅Ρ‚ΠΎΠ΄Π° являСтся ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΠ΅ количСства вычислСний. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, количСство вычислСний Π² Π·Π°Π΄Π°Ρ‡Π΅ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠ³ΠΎ программирования Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ связано, скорСС, с ΠΊΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎΠΌ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ, Ρ‡Π΅ΠΌ с ΠΊΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π² ΠΎΠ±Ρ‰Π΅ΠΌ случаС Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ большС.

Π’ Ρ€Π°ΠΌΠΊΠ°Ρ… поставлСнной Π·Π°Π΄Π°Ρ‡ΠΈ Π±Ρ‹Π»ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Ρ‹ всС трСбования, Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ всС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅. Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° ΠΈΠ½Ρ‚ΡƒΠΈΡ‚ΠΈΠ²Π½ΠΎ понятСн ΠΈ Π»Π΅Π³ΠΎΠΊ Π² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠΈ.

Бписок ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… источников

1. Π“Π°Π»Π΅Π΅Π² Π­. М. ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ: тСория, ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹, Π·Π°Π΄Π°Ρ‡ΠΈ / Π­. М. Π“Π°Π»Π΅Π΅Π², Π’. М. Π’ΠΈΡ…ΠΎΠΌΠΈΡ€ΠΎΠ². — Πœ.: Π­Π»ΠΈΡ‚ΠΎΡ€Π½Π°Π» Π£Π Π‘Π‘, 2000. — 320 с.

2. ΠžΡ€Π»ΠΎΠ² А. И. Π£ΡΡ‚ΠΎΠΉΡ‡ΠΈΠ²ΠΎΡΡ‚ΡŒ Π² ΡΠΎΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎ-экономичСских модСлях. М.: Наука, 1986. — 294 с.

3. Поляк Π‘. Π’.

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅

Π² ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡŽ — М.: Наука. Главная рСдакция Ρ„ΠΈΠ·ΠΈΠΊΠΎ-матСматичСской Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹, 1983. — 384 с.

4. Π‘Π΅ΠΌΡƒΡˆΠΈΠ½ И. Π’. ΠŸΡ€Π°ΠΊΡ‚ΠΈΠΊΡƒΠΌ ΠΏΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ: Π£Ρ‡Π΅Π±. пособиС для Π²ΡƒΠ·ΠΎΠ². — Π£Π»ΡŒΡΠ½ΠΎΠ²ΡΠΊ: Π£Π»Π“Π’Π£, 1999. — 148с.

5. Бмородинский Π‘. Π‘. ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΈ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ ΠΌΠ°Ρ‚. программирования: Π£Ρ‡Π΅Π±. ПособиС ΠΏΠΎ ΠΊΡƒΡ€ΡΡƒ «Π‘истСмный Π°Π½Π°Π»ΠΈΠ· ΠΈ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ» для студ. спСц. «ΠΠ²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ систСмы ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ» Π΄Π½Π΅Π²Π½ΠΎΠΉ ΠΈ Π΄ΠΈΡΡ‚Π°Π½Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌ обучСния / Π‘. Π‘. Бмородинский, Н. Π’. Π‘Π°Ρ‚ΠΈΠ½. — ΠœΠ½.: Π‘Π“Π£Π˜Π , 2003. — 136 с.: ΠΈΠ».

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅

Листинг класса, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰Π΅Π³ΠΎ Ρ‚Π°Π±Π»ΠΈΡ‡Π½Ρ‹ΠΉ симплСкс-ΠΌΠ΅Ρ‚ΠΎΠ΄

package MarkaKlass;

import javax.swing.JTextArea;

public class ClassTablSimpl {

public int nRow, nCol; // ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ строк ΠΈ ΡΡ‚ΠΎΠ»Π±Ρ†ΠΎΠ²

public double kanonMatrix[][];

public int kanonNazvVert[], kanonNazvGor[];

public double ishMatrix[][];

public double vertX[], horzX[], beta[], Fmat[];

public int vertZn[]; public int SPx[], BPx[]; public double XBaz[]; //массив базисных Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ

public int colXBaz; public double elem; public int elemi, elemj, bolsrav;

public int kolmin = 1; public int minmax; //Ссли 0 Ρ‚ΠΎ min, Ссли max Ρ‚ΠΎ 1

public JTextArea Text; public int chek; public String WriteForWordS = «» ;

ClassTablSimpl () { nRow = 0; nCol = 0; } ;

// Ѐункция задания Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…

public void SetSize (int row, int col, int mnmx, JTextArea text) {

nRow = row; nCol = col; colXBaz = col + row; horzX = new double[col];

XBaz = new double[colXBaz]; Fmat = new double[col + 1]; vertX = new double[row];

beta = new double[row]; vertZn = new int[row]; SPx = new int[col];

BPx = new int[row]; ishMatrix = new double[nRow][nCol]; kanonMatrix = new double[nRow][nCol];

minmax = mnmx; Text = text;

for (int i = 0; i < colXBaz; i++) { XBaz[i] = 0; }

};

// Ѐункция округлСния чисСл

public double roundDownScale (double aValue, int num) {

double zn;

zn = Math. pow (10, num);

if (aValue > 0) { return (int) (aValue * zn + 0.5) / zn;

} else { return (int) (aValue * zn) / zn; } }

//Ѐункция для Π²Ρ‹Π²ΠΎΠ΄Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ количСства символов

public String addSpaces (String s, int n) {

int kol_vo;

if (s.length () < n) { kol_vo = n — s. length ();

} else { return s; }

int right = kol_vo / 2; int left = kol_vo — right;

for (int i = 1; i <= left; i++) { s = «» + s; }

for (int j = 1; j <= right; j++) { s = s + ««; }

return s; }

//Π€ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ исходной симплСкс-Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹

public void FISimplTabl () {

for (int i = 0; i < nRow; i++) { for (int j = 0; j < nCol; j++) {

kanonMatrix[i][j] = ishMatrix[i][j]; beta[i] = vertX[i]; SPx[j] = j + 1; BPx[i] = nCol + 1 + i;

} }

for (int j = 0; j < nCol; j++) { Fmat[j] = horzX[j] * (-1); }

Fmat[nCol] = 0; //Ссли стоит Π·Π½Π°ΠΊ >=

for (int i = 0; i < nRow; i++) {

for (int j = 0; j < nCol; j++) { if (vertZn[i] == 0) { kanonMatrix[i][j] = kanonMatrix[i][j] * (-1);

} } }

for (int i = 0; i < nRow; i++) { if (vertZn[i] == 0) { beta[i] = beta[i] * (-1); }}}

//ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ базисного Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ

public void BasResh () {

WriteForWordS = «»; for (int i = 0; i < colXBaz; i++) { XBaz[i] = 0; }

for (int i = 0; i < nRow; i++) { XBaz[BPx[i] - 1] = beta[i]; }

Text.append («ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ базисного Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ: nX = {n»);

WriteForWordS += «ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ базисного Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ: rX = {r» ;

if (chek == 1) { for (int i = 0; i < colXBaz; i++) {

Text.append («tx» + (i + 1) + «= „+ (int) roundDownScale (XBaz[i], 0) + “ ;n»);

WriteForWordS += «tx» + (i + 1) + «= „+ (int) roundDownScale (XBaz[i], 0) + “ ;r» ;

}} else { for (int i = 0; i < colXBaz; i++) {

Text.append («tx» + (i + 1) + «= „+ roundDownScale (XBaz[i], 2) + “ ;n»);

WriteForWordS += «tx» + (i + 1) + «= „+ roundDownScale (XBaz[i], 2) + “ ;r» ;

} }

Text.append («}.n»);

WriteForWordS += «}.r»; }

//ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ базисного Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ

public void FinishResh () {

WriteForWordS = «»; WriteForWordS += «r» ;

Text.append («n»); for (int i = 0; i < colXBaz; i++) { XBaz[i] = 0; }

for (int i = 0; i < nRow; i++) { XBaz[BPx[i] - 1] = beta[i]; }

if (chek == 1) { for (int i = 0; i < nCol; i++) {

Text.append («Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ…» + (i + 1) + «= «+ (int) roundDownScale (XBaz[i], 0) + «n»);

WriteForWordS += «Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ…» + (i + 1) + «= «+ (int) roundDownScale (XBaz[i], 0) + «r»; }

Text.append («Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ F (x) = «+ (int) roundDownScale (Fmat[nCol], 0) + ««);

WriteForWordS += «Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ F (x) = «+ (int) roundDownScale (Fmat[nCol], 0) + ««;

} else { for (int i = 0; i < nCol; i++) {

Text.append («Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ…» + (i + 1) + «= «+ roundDownScale (XBaz[i], 2) + «n»);

WriteForWordS += «Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ…» + (i + 1) + «= «+ roundDownScale (XBaz[i], 2) + «r»; }

Text.append («Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ F (x) = «+ roundDownScale (Fmat[nCol], 2) + ««);

WriteForWordS += «Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ F (x) = «+ roundDownScale (Fmat[nCol], 2) + ««;

}}

//ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ совмСстна Π»ΠΈ систСма

public int Sovm () {

int pr = 0; int proverka[] = new int[nRow];

for (int i = 0; i < nRow; i++) { pr = 0; if (beta[i] < 0) { pr = 1;

for (int j = 0; j < nCol; j++) { if (kanonMatrix[i][j] < 0) { pr = pr + 1; } } }

proverka[i] = pr;}

int flag = 0; for (int i = 0; i < nRow; i++) { if (proverka[i] == 1) { flag = 1;}}

if (kolmin == 0) { flag = 0; }

return flag;

}

//ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ограничСнности Ρ†Π΅Π»Π΅Π²ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

public int Ogranic () {

int pr = 0; int proverka[] = new int[nCol];

for (int j = 0; j < nCol; j++) { pr = 0;

if (Fmat[j] < 0) { pr = 1;

for (int i = 0; i < nRow; i++) { if (kanonMatrix[i][j] > 0) { pr = pr + 1; } } }

proverka[j] = pr;}

int flag = 0;

for (int j = 0; j < nCol; j++) {if (proverka[j] == 1) { flag = 1; } }

return flag; }

//ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° допустимого базисного Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ

public int DopBazResh () {

int flag = 0;

for (int i = 0; i < nCol; i++) { if (XBaz[i] < 0) { flag = 1; }} return flag; }

//ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ

public int Optimal () { int flag = 0; for (int j = 0; j < nCol; j++) { if (Fmat[j] < 0) { flag = 1; //ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° для min

} }

int flag1 = 0; for (int i = 0; i < nRow; i++) {if (beta[i] < 0) {flag1 = flag1 + 1; } }

if (flag1 > 0) {flag = 1;}

return flag;}

//поиск Ρ€Π°Π·Ρ€Π΅ΡˆΠ°ΡŽΡ‰Π΅Π³ΠΎ элСмСнта

public void PoiskRazrElem () {

double mini = 0, minj = 0;

int nom_mini = 0, nom_minj = 0;

elem = 0; elemi = 0; elemj = 0; int flag1 = 0;

for (int i = 0; i < nRow; i++) { if (beta[i] < 0) { flag1 = flag1 + 1;} }

if (flag1 > 0) {for (int i = 0; i < nRow; i++) { if (beta[i] < mini) {

mini = beta[i]; nom_mini = i; } }

kolmin = 0; for (int j = 0; j < nCol; j++) {

if (kanonMatrix[nom_mini][j] < 0) { kolmin = kolmin + 1;}}

for (int j = 0; j < nCol; j++) { if (kanonMatrix[nom_mini][j] < minj) { nom_minj = j; } }

} else { //ΠΈΡ‰Π΅ΠΌ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ элСмСнт Π² ΡΡ‚Ρ€ΠΎΠΊΠ΅

for (int j = 0; j < nCol; j++) { if (Fmat[j] < minj) //————-++++++

{ minj = Fmat[j]; nom_minj = j; } }

double betatmp[] = new double[nRow];

for (int i = 0; i < nRow; i++) { betatmp[i] = 0; }

for (int i = 0; i < nRow; i++) { if ((kanonMatrix[i][nom_minj] >= 0) && (kanonMatrix[i][nom_minj] ≠ 0)) {

betatmp[i] = beta[i] / kanonMatrix[i][nom_minj]; } else {betatmp[i] = -1; } }

for (int i = 0; i < nRow; i++) { if (betatmp[i] >= 0) { nom_mini = i; break;}}

mini = betatmp[nom_mini];

for (int i = 0; i < nRow; i++) { if ((betatmp[i] >= 0) && (betatmp[i] < mini)){

mini = betatmp[i]; nom_mini = i; } }}

elem = kanonMatrix[nom_mini][nom_minj];

elemi = nom_mini;

if (kolmin == 0) { elemj = -1; } else { elemj = nom_minj; } }

public void PreobrTabl () {

double kanonMatrix1[][] = new double[nRow][nCol];

double Fmat1[] = new double[nCol + 1];

double beta1[] = new double[nRow];

PoiskRazrElem ();

if (elemj >= 0) { int prom = SPx[elemj];

SPx[elemj] = BPx[elemi]; BPx[elemi] = prom;

System.arraycopy (beta, 0, beta1, 0, nRow);

System.arraycopy (Fmat, 0, Fmat1, 0, nCol + 1);

for (int i = 0; i < nRow; i++) {System.arraycopy (kanonMatrix[i], 0, kanonMatrix1[i], 0, nCol); }

for (int i = 0; i < nRow; i++) { if (i == elemi) { beta[i] = beta1[i] / elem; } else { beta[i] = beta1[i] - ((kanonMatrix1[i][elemj] * beta1[elemi]) / elem);} }

for (int j = 0; j < nCol; j++) { if (j == elemj) { Fmat[j] = (-1) * (Fmat1[j] / elem);

} else { Fmat[j] = Fmat1[j] - ((kanonMatrix1[elemi][j] * Fmat1[elemj]) / elem); } }

Fmat[nCol] = Fmat1[nCol] - ((beta1[elemi] * Fmat1[elemj]) / elem);

for (int i = 0; i < nRow; i++) { for (int j = 0; j < nCol; j++) {

if ((i == elemi) && (j == elemj)) { kanonMatrix[i][j] = 1. / kanonMatrix1[i][j];

} else if ((j == elemj) && (i ≠ elemi)) { kanonMatrix[i][j] = (-1) * (kanonMatrix1[i][j] / elem);

} else if ((i == elemi) && (j ≠ elemj)) { kanonMatrix[i][j] = kanonMatrix1[i][j] / elem;

} else { kanonMatrix[i][j] = kanonMatrix1[i][j] - ((kanonMatrix1[elemi][j] * kanonMatrix1[i][elemj]) / elem); } } }

Text.append («n»); Print ();Text.append («n»);} }

public void Print () «); WriteForWordS += «

public void Opr () {

WriteForWordS = «»; int mnogitel = 0;

if ((minmax == 0)) { mnogitel = -1; Fmat[nCol] = mnogitel * Fmat[nCol]; }}}

Листинг класса Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ симплСкс-ΠΌΠ΅Ρ‚ΠΎΠ΄

package kursovai;

import javax.swing.JTextArea;

public class ClassModifSimpl {

public int nRow, nCol; // ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ строк ΠΈ ΡΡ‚ΠΎΠ»Π±Ρ†ΠΎΠ²

public double ishMatrix[][];

public double peremenXB[][];

public double vertX[], horzX[], beta[], Fmat[];

public int vertZn[];

public double Matrixkoefic[][];

public int SPx[], BPx[];

public JTextArea Text; public int nColReal;

//элСмСнты для ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°

public double G[][]; //элСмСнты Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π±Π΅Π· Π΅Π΄ΠΈΠ½ΠΈΡ‡Π½ΠΎΠΉ

public double Bed[][]; //Сдиничная ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°

public double bprav[]; //правая Ρ‡Π°ΡΡ‚ΡŒ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ

public double piT[]; //симплСкс ΠΌΠ½ΠΎΠΆΠΈΡ‚Π΅Π»ΠΈ

public double cT[], cT1[]; //коэффициСнты Ρ†Π΅Π»Π΅Π²ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

public double cTst[]; //коэффициСнты Ρ†Π΅Π»Π΅Π²ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

public int el, es, k; //ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹

public double aks, cs;

public int NB[]; //Π½ΠΎΠΌΠ΅Ρ€Π° базисных ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…

public int NF[]; //Π½ΠΎΠΌΠ΅Ρ€Π° свободных ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…

public double z; //Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ†Π΅Π»Π΅Π²ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

public double BR[]; //Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅

public double ashs[][]; //Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅

public double as[][];

public int proverstroka = 0;

public int proverstolbec = 0;

public double XBaz[]; //массив базисных Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ

public int chek;

public int iteration;

public int mnmx1;

public String WriteForWordS = «» ;

ClassModifSimpl () { nRow = 0; nCol = 0; } ;

// Ѐункция задания Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…

public void SetSize (int row, int col, int mnmx, JTextArea text) {

nRow = row; nCol = col;ishMatrix = new double[nRow][nCol];

horzX = new double[col]; vertX = new double[row]; vertZn = new int[row];

beta = new double[row]; BPx = new int[row];

Text = text; G = new double[nRow][nCol]; piT = new double[nRow];

bprav = new double[nRow]; cT = new double[nCol]; cT1 = new double[nCol];

cTst = new double[nCol]; ashs = new double[nCol][1]; NB = new int[nRow];

NF = new int[nCol]; Bed = new double[nRow][nRow];

mnmx1 = mnmx; for (int i = 0; i < nRow; i++) { for (int j = 0; j < nRow; j++) { if (i == j) {

Bed[i][j] = 1; } else { Bed[i][j] = 0; } } } } ;

//запишСм Π² ΠΊΠ°Π½ΠΎΠ½ΠΈΡ‡Π΅ΡΠΊΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅

public void CanonForma () {

int kol = 0; nColReal = nCol; for (int i = 0; i < nRow; i++) { kol = kol + 1; }

peremenXB = new double[kol][kol];

for (int i = 0; i < kol; i++) { for (int j = 0; j < kol; j++) { if (i == j) { peremenXB[i][j] = 1; } else {

peremenXB[i][j] = 0; } } }

nColReal = nColReal + kol; Matrixkoefic = new double[nRow][nColReal];

SPx = new int[nColReal]; Fmat = new double[nColReal + 1];

for (int i = 0; i < nRow; i++) { if (vertZn[i] == 1) { for (int j = 0; j < nCol; j++) { Matrixkoefic[i][j] = ishMatrix[i][j]; }beta[i] = vertX[i]; }

if (vertZn[i] == 2) { for (int j = 0; j < nCol; j++) { Matrixkoefic[i][j] = ishMatrix[i][j]; }

beta[i] = vertX[i]; }

if (vertZn[i] == 3) { for (int j = 0; j < nCol; j++) { Matrixkoefic[i][j] = (-1) * ishMatrix[i][j]; }

beta[i] = (-1) * vertX[i]; }}

for (int i = 0; i < nRow; i++) { for (int j = nCol; j < nColReal; j++) {

Matrixkoefic[i][j] = peremenXB[i][j — nCol]; } }

for (int j = 0; j < nColReal; j++) { SPx[j] = j + 1; }

for (int i = 0; i < nRow; i++) { BPx[i] = nCol + 1 + i; }

for (int j = 0; j < nCol; j++) { Fmat[j] = horzX[j] * (-1); }

for (int j = nCol; j < nColReal + 1; j++) { Fmat[j] = 0; }

as = new double[nRow][nColReal];; for (int i = 0; i < nRow; i++) {

for (int j = 0; j < nColReal; j++) { as[i][j] = Matrixkoefic[i][j]; } } }

public void FormirElMod () {

BR = new double[nColReal]; for (int i = 0; i < nRow; i++) { piT[i] = 0; }

for (int i = 0; i < nRow; i++) { for (int j = 0; j < nCol; j++) { G[i][j] = Matrixkoefic[i][j]; } }

for (int j = 0; j < nCol; j++) { cT[j] = horzX[j]; NF[j] = j; }

for (int j = 0; j < nCol; j++) { cTst[j] = horzX[j]; }

for (int j = 0; j < nCol; j++) { cT1[j] = horzX[j]; }

for (int j = nCol; j < nColReal; j++) { NB[j — nCol] = j; }

z = 0;for (int j = 0; j < nColReal; j++) { if (j < nCol) { BR[j] = 0; } else { BR[j] = beta[j — nCol]; } }

for (int i = 0; i < nRow; i++) { bprav[i] = beta[i]; } }

public double[][] myCoolMethod (double[][] M1, double[][] M2, int ar, int cr, int br) {

double[][] R = new double[ar][cr];

for (int i = 0; i < ar; i++) { for (int j = 0; j < cr; j++) { for (int k = 0; k < br; k++) { R[i][j] = R[i][j] + M1[i][k] * M2[k][j]; } } } return R; }

public void ishznmodmet () {

Text.append («ΠžΠ±Ρ€Π°Ρ‚ная ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°: n»);

WriteForWordS += «ΠžΠ±Ρ€Π°Ρ‚ная ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°: r» ;

for (int i = 0; i < nRow; i++) { Text. append («|»); for (int j = 0; j < nRow; j++) {

Text.append («» + addSpaces (String.valueOf (roundDownScale (Bed[i][j], 1)), 4) + ««);

} Text. append («|n»); }

for (int i = 0; i < nRow; i++) { WriteForWordS += «|»; for (int j = 0; j < nRow; j++) {

WriteForWordS += «» + addSpaces (String.valueOf (roundDownScale (Bed[i][j], 1)), 4) + ««; }

WriteForWordS += «|r»; }}

public void ProvVectorKriterOpt () {

//ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ 2-ΡƒΡ… ΠΌΠ°Ρ‚Ρ€ΠΈΡ†

int ar = 1, br = nRow, cr = nCol; double[][] M1 = new double[ar][br];

double[][] M2 = new double[br][cr]; double[][] R1 = new double[ar][cr];

for (int i = 0; i < ar; i++) { for (int j = 0; j < br; j++) { M1[i][j] = piT[j]; } }

for (int i = 0; i < br; i++) {

for (int j = 0; j < cr; j++) {

M2[i][j] = G[i][j];

}

}

R1 = myCoolMethod (M1, M2, ar, cr, br);

for (int i = 0; i < ar; i++) {

for (int j = 0; j < cr; j++) {

cT[j] = cTst[j] + R1[i][j];

}

}

//составим строку (cT, piT) Ссли Π½Π΅Ρ‚ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… элСмСнтов Ρ‚ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ

double[] picT = new double[nRow + nCol];

for (int i = 0; i < nRow + nCol; i++) {

if (i < nCol) {

picT[i] = cT[i];

} else {

picT[i] = piT[i — nCol];

}

}

int kolvootr = 0;

for (int i = 0; i < nCol; i++) {

if (picT[NF[i]] < 0) {

kolvootr = kolvootr + 1;

}

}

Text.append («ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ: ΠΊΠΎΠ»-Π²ΠΎ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… элСмСнтов Π²Π΅ΠΊΡ‚ΠΎΡ€Π° критСрия ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ = «);

WriteForWordS += «ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ: ΠΊΠΎΠ»-Π²ΠΎ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… элСмСнтов Π²Π΅ΠΊΡ‚ΠΎΡ€Π° критСрия ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ = «;

Text.append (kolvootr + ««);

Text.append («n»);

WriteForWordS += kolvootr + ««;

WriteForWordS += «r» ;

if (kolvootr <= 0) {

proverstroka = 1;

} else {

WriteForWordS += «rЗначСния послС «+ iteration + «ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ :r» ;

Text.append («nЗначСния послС «+ iteration + «ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ :n»);

iteration++;

proverstroka = 0;

double min = picT[NF[0]]; int poiskmin = NF[0];

el = -1; es = -1;

for (int i = 0; i < nCol; i++) {

if (picT[NF[i]] < min) { min = picT[NF[i]]; poiskmin = NF[i]; } }

for (int j = 0; j < nCol; j++) { if (NF[j] == poiskmin) { el = j; es = NF[el]; }}

cs = min;

//рассчитываСм ashs

//ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ 2-ΡƒΡ… ΠΌΠ°Ρ‚Ρ€ΠΈΡ†

ar = nRow; br = nRow; cr = 1;

M1 = new double[ar][br]; M2 = new double[br][cr];

for (int i = 0; i < ar; i++) { for (int j = 0; j < br; j++) { M1[i][j] = Bed[i][j]; }}

for (int i = 0; i < br; i++) { for (int j = 0; j < cr; j++) { M2[i][j] = as[i][es]; }}

ashs = myCoolMethod (M1, M2, ar, cr, br);

double[] Temp = new double[nRow];

for (int i = 0; i < nRow; i++) { if (ashs[i][0] <= 0) { Temp[i] = 99 999; }else{

Temp[i] = bprav[i] / Math. abs (ashs[i][0]); } }

double minelem = Temp[0];

int k = 0;

for (int i = 0; i < nRow; i++) {

if (Temp[i] < minelem) {

minelem = Temp[i];

k = i;

}

}

aks = ashs[k][0];

//Text.append («aks -> «); Text. append (aks+» «); Text. append («n»);

int tem = 0;

tem = NB[k];

NB[k] = NF[el];

NF[el] = tem;

for (int j = 0; j < nCol; j++) «);

for (int j = 0; j < nCol; j++) «;

bprav[k] = bprav[k] / aks;

for (int i = 0; i < nRow; i++) {

if (i ≠ k) {

bprav[i] = bprav[i] - ashs[i][0] * bprav[k];

}

}

z = z — cs * bprav[k];

for (int j = 0; j < nRow; j++) {

Bed[k][j] = Bed[k][j] / aks;

}

for (int i = 0; i < nRow; i++) {

for (int j = 0; j < nRow; j++) {

if (i ≠ k) {

Bed[i][j] = Bed[i][j] - Bed[k][j] * ashs[i][0];

}

}

}

Text.append («ΠžΠ±Ρ€Π°Ρ‚ная ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°: n»);

for (int i = 0; i < nRow; i++) {

Text.append («|»);

for (int j = 0; j < nRow; j++) {

Text.append («» + addSpaces (String.valueOf (roundDownScale (Bed[i][j], 1)), 4) + ««);

}

Text.append («|n»);

}

for (int i = 0; i < nRow; i++) {

WriteForWordS += «|» ;

for (int j = 0; j < nRow; j++) {

WriteForWordS += «» + addSpaces (String.valueOf (roundDownScale (Bed[i][j], 1)), 4) + ««;

}

WriteForWordS += «|r» ;

}

Text.append («n»);

WriteForWordS += «r» ;

for (int j = 0; j < nRow; j++) {

piT[j] = piT[j] - cs * Bed[k][j];

}

for (int j = 0; j < nColReal; j++) {

BR[j] = 0;

}

for (int j = 0; j < nRow; j++) {

BR[NB[j]] = bprav[j];

}

BasResh ();

}

}

public void ProvVectorSvobodnChlen () {

int kolotrbet = 0;

for (int i = 0; i < nRow; i++) {

if (bprav[i] < 0) {

kolotrbet = kolotrbet + 1;

}

}

WriteForWordS += «ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ: ΠΊΠΎΠ»-Π²ΠΎ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… элСмСнтов Π²Π΅ΠΊΡ‚ΠΎΡ€Π° свободных Ρ‡Π»Π΅Π½ΠΎΠ² =»;

Text.append («ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ: ΠΊΠΎΠ»-Π²ΠΎ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… элСмСнтов Π²Π΅ΠΊΡ‚ΠΎΡ€Π° свободных Ρ‡Π»Π΅Π½ΠΎΠ² =»);

WriteForWordS += kolotrbet + ««;

WriteForWordS += «r» ;

Text.append (kolotrbet + ««);

Text.append («n»);

if (kolotrbet <= 0) {

proverstolbec = 1;

} else {

WriteForWordS += «nЗначСния послС «+ iteration + «ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ :r» ;

Text.append («nЗначСния послС «+ iteration + «ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ :n»);

iteration++;

proverstolbec = 0;

double minb = bprav[0];

int k2 = 0;

for (int i = 0; i < nRow; i++) {

if (bprav[i] < minb) {

minb = bprav[i];

k2 = i;

}

}

WriteForWordS += «Π˜Π· Π±Π°Π·ΠΈΡΠ° Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ x» ;

WriteForWordS += (NB[k2] + 1) + ««;

WriteForWordS += «r» ;

Text.append («Π˜Π· Π±Π°Π·ΠΈΡΠ° Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ x»);

Text.append ((NB[k2] + 1) + ««);

Text.append («n»);

int ar = 1, br = nRow, cr = nCol;

double[][] M1 = new double[ar][br];

double[][] M2 = new double[br][cr];

double[][] akTs = new double[ar][cr];

for (int i = 0; i < ar; i++) {

for (int j = 0; j < br; j++) {

M1[i][j] = Bed[k2][j];

}

}

for (int i = 0; i < br; i++) {

for (int j = 0; j < cr; j++) {

M2[i][j] = G[i][j];

}

}

akTs = myCoolMethod (M1, M2, ar, cr, br);

double[][] akTsp = new double[ar][cr + nRow];

for (int j = 0; j < cr + nRow; j++) {

if (j < cr) {

akTsp[0][j] = akTs[0][j];

} else {

akTsp[0][j] = Bed[k2][j — cr];

}

}

double[] picT = new double[nRow + nCol];

for (int i = 0; i < nRow + nCol; i++) {

if (i < nCol) {

picT[i] = cT[i];

} else {

picT[i] = piT[i — nCol];

}

}

double[] Temp1 = new double[nCol + nRow];

for (int j = 0; j < nCol + nRow; j++)

{

if (akTsp[0][j] >= 0) {

Temp1[j] = 99 999;

} else {

Temp1[j] = picT[j] / Math. abs (akTsp[0][j]);

}

}

double minelem1 = Temp1[NF[0]];

el = -1;

es = -1;

int poiskmin1 = NF[0];

for (int j = 0; j < nCol; j++) {

if (Temp1[NF[j]] < minelem1) {

minelem1 = Temp1[NF[j]];

poiskmin1 = NF[j];

}

}

for (int j = 0; j < nCol; j++) {

if (NF[j] == poiskmin1) {

el = j;

es = NF[el];

}

}

cs = cT[poiskmin1];

//ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ 2-ΡƒΡ… ΠΌΠ°Ρ‚Ρ€ΠΈΡ†

ar = nRow;

br = nRow;

cr = 1;

M1 = new double[ar][br];

M2 = new double[br][cr];

for (int i = 0; i < ar; i++) {

for (int j = 0; j < br; j++) {

M1[i][j] = Bed[i][j];

}

}

for (int i = 0; i < br; i++) {

for (int j = 0; j < cr; j++) {

M2[i][j] = as[i][es];

}

}

ashs = myCoolMethod (M1, M2, ar, cr, br);

aks = ashs[k2][0];

int tem = 0;

tem = NB[k2];

NB[k2] = NF[el];

NF[el] = tem;

for (int j = 0; j < nCol; j++)

Text.append (addSpaces (String.valueOf («x» + (NF[j] + 1)), 8) + «

bprav[k2] = bprav[k2] / aks;

for (int i = 0; i < nRow; i++) {

if (i ≠ k2) {

bprav[i] = bprav[i] - ashs[i][0] * bprav[k2];

}

}

z = z — cs * bprav[k2];

for (int j = 0; j < nRow; j++) {

Bed[k2][j] = Bed[k2][j] / aks;

}

for (int i = 0; i < nRow; i++) {

for (int j = 0; j < nRow; j++) {

if (i ≠ k2) {

Bed[i][j] = Bed[i][j] - Bed[k2][j] * ashs[i][0];

}

}

}

WriteForWordS += «ΠžΠ±Ρ€Π°Ρ‚ная ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°: r» ;

for (int i = 0; i < nRow; i++) {

WriteForWordS += «|» ;

for (int j = 0; j < nRow; j++) {

WriteForWordS += «» + addSpaces (String.valueOf (roundDownScale (Bed[i][j], 1)), 4) + ««;

}

WriteForWordS += «|r» ;

}

WriteForWordS += «r» ;

Text.append («ΠžΠ±Ρ€Π°Ρ‚ная ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°: n»);

for (int i = 0; i < nRow; i++) {

Text.append («|»);

for (int j = 0; j < nRow; j++) {

Text.append («» + addSpaces (String.valueOf (roundDownScale (Bed[i][j], 1)), 4) + ««);

}

Text.append («|n»);

}

Text.append («n»);

for (int j = 0; j < nRow; j++) {

piT[j] = piT[j] - cs * Bed[k2][j];

}

ar = 1; br = nRow; cr = nCol;

M1 = new double[ar][br];

M2 = new double[br][cr];

double[][] R1 = new double[ar][cr];

for (int i = 0; i < ar; i++) { for (int j = 0; j < br; j++) { M1[i][j] = piT[j]; } }

for (int i = 0; i < br; i++) { for (int j = 0; j < cr; j++) { M2[i][j] = G[i][j]; } }

R1 = myCoolMethod (M1, M2, ar, cr, br);

for (int i = 0; i < ar; i++) { for (int j = 0; j < cr; j++) { cT[j] = cTst[j] + R1[i][j]; } }

for (int j = 0; j < nColReal; j++) { BR[j] = 0; }

for (int j = 0; j < nRow; j++) { BR[NB[j]] = bprav[j]; } BasResh (); } }

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ