P. Kowalik, Błąd w Solverze - wprowadzanie i edycja warunków całkowitoliczbowości i binarności zmiennych
1
Błąd w Solverze - wprowadzanie i edycja warunków całkowitoliczbowości i binarności zmiennych
(dotyczy: Excel 2002 – pakiet Office XP oraz Excel 2003 – pakiet Office 2003)
Solver w w/w wersjach Excela zawiera błąd, który pozornie uniemożliwia wprowadzenie i edycję ograniczeń typu „Komórki zmie-
niane – całkowitoliczbowe” (całkowitoliczbowość zmiennych decyzyjnych) oraz edycję ograniczeń typu „Komórki zmieniane – bi-
narne” (zerojedynkowość zmiennych decyzyjnych). Błąd nie występuje w starszych wersjach Excela (5.0, 95, 97, 2000) oraz w Exce-
lu 2007.
Poniżej podany jest na przykładzie sposób obejścia tego błędu (zakładamy, że komórkami zmienianymi jest zakres A1:C1).
Rys. 1a. Zakres A1:B1 musi przyjmować wartości całkowite.
Wprowadzamy do lewego pola ten zakres. Z listy pośrodku wy-
bieramy „int” (warunek całkowitoliczbowości). Wtedy w prawym
polu pojawia się słowo „całkowita”
Rys. 1b. Komórka C1 musi przyjmować wartości zerojedynkowe
(binarne). Wprowadzamy do lewego pola ten adres komórki. Z li-
sty pośrodku wybieramy „bin” (warunek zerojedynkowości).
Wtedy w prawym polu pojawia się słowo „binarna”.
Rys. 2. Próba zatwierdzenia warunku całkowitoliczbowości (przez
„OK” lub „Dodaj”) wywołuje komunikat taki jak powyżej
Rys. 3. W takiej sytuacji należy kliknąć „OK” na okienku z komu-
nikatem i wpisać w prawe pole jakąkolwiek liczbę albo jakikol-
wiek adres komórki (w przykładzie wpisane jest 0).
Dla warunku zerojedynkowości zatwierdzenie (przez „OK” lub
„Dodaj”) odbywa się bez przeszkód.
Rys 4. Po zatwierdzeniu w/w warunków ograniczających (przez „OK” lub „Dodaj”) następuje powrót do głównego okna Solvera.
Warunek całkowitoliczbowości zmiennych pojawia się na liście „Warunki ograniczające” w postaci „$A$1:$B$1 int 0”. Zapis ten jest
niepoprawny, ale tylko „wizualnie”. Warunek zerojedynkowości wyświetla się poprawnie jako „$C$1 bin binarna”. Niezależnie od
zapisu, po kliknięciu „Rozwiąż” obliczenia wykonają się poprawnie.
P. Kowalik, Błąd w Solverze - wprowadzanie i edycja warunków całkowitoliczbowości i binarności zmiennych
2
Rys. 5a,5b. Przy próbie edycji (przez kliknięcie „Zmień”) cały warunek pojawia się w prawym polu w postaci takiej jak na liście.
Naturalnie ten zapis jest nieprawidłowy i nie ma sensu edytowanie go. Należy dokonać wpisu od nowa. Jeżeli jednak warunek ma
zostać niezmieniony, należy kliknąć „Anuluj”.
Rys. 6. Przy próbie zatwierdzenia warunku (przez „OK” lub „Dodaj”) w powyższej postaci (z adresami komórek i słowem „int”/”bin”
w prawym polu) pojawi się następujący komunikat. Należy wtedy kliknąć „OK” i postępować zgodnie z instrukcjami w podpisie do
rys. 5a,5b
Rys. 6 Jeżeli główne okno Solvera zostało zamknięte przez „Zamknij” albo „Rozwiąż”, wtedy po jego ponownym otwarciu (z menu
Narzędzia-Solver) warunki całkowitoliczbowości i zerojedynkowości wyświetlą się już (w zasadzie) poprawnie (zakres_komórek =
całkowita/binarna). Zapis ten jest czytelny i zrozumiały jednak rodzi problemy przy próbie edycji warunków.
Rys. 7a. Przy próbie edycji (przez kliknięcie „Zmień”) warunek
pojawia się w postaci jak na rysunku. Aby go zatwierdzić, wcze-
śniej należy postąpić analogicznie, jak podano w podpisie do
Rys. 3 tzn. wybrać na liście wyboru „int” a w prawe pole wpisać
dowolną liczbę lub adres komórki.
Rys. 7a. Przy próbie edycji (przez kliknięcie „Zmień”) warunek
pojawia się w postaci jak na rysunku. Aby go zatwierdzić, wcze-
śniej należy wybrać na liście wyboru „bin”.