Optymalizacja
Programowanie liniowe – klasa problemów programowania matematycznego, w której wszystkie warunki ograniczające oraz funkcja celu mają postać liniową. Warunki ograniczające mają postać:Komputer (z ang. computer od łac. computare – liczyć, sumować; dawne nazwy używane w Polsce: mózg elektronowy, elektroniczna maszyna cyfrowa, maszyna matematyczna) – maszyna elektroniczna przeznaczona do przetwarzania informacji, które da się zapisać w formie ciągu cyfr albo sygnału ciągłego.
Badania operacyjne - dyscyplina naukowa związana z teorią decyzji pozwalająca wyznaczyć metodę i rozwiązanie określonych problemów związanych z podjęciem optymalnych decyzji. Badania operacyjne to zbiór metod matematycznych i statystycznych, obejmujących m. in.:
Optymalizacja – metoda wyznaczania najlepszego (optymalnego) rozwiązania (poszukiwanie ekstremum funkcji) z punktu widzenia określonego kryterium (wskaźnika) jakości (np. kosztu, drogi, wydajności).
Stosuje się optymalizacje jedno i wielokryterialne. Optymalizacja wielokryterialna występuje w wielu różnych dziedzinach: w projektowaniu produktu i procesu produkcji, finansów, projektowaniu samolotów, w przemyśle chemicznym, projektowaniu samochodów, wszędzie tam gdzie optymalne decyzje muszą być podjęte w obecności kompromisów pomiędzy dwoma lub więcej sprzecznymi celami. Przykładem wielokryterialnej optymalizacji jest maksymalizacja zysków i minimalizacji kosztów produktu, maksymalizacja wydajności przy ograniczaniu zużycia paliwa pojazdu, czy też obniżenie masy urządzenia przy jednoczesnej maksymalizacji wytrzymałości poszczególnych jego komponentów.
Optymalizacja jest także zdefiniowana w badaniach operacyjnych, gdzie wykorzystywana jest do rozwiązywania praktycznych problemów (np. ekonomicznych).
W programowaniu komputerowym optymalizacja oprogramowania oznacza działania mające na celu programu komputerowego, tak by czas jego działania oraz używane zasoby komputerowe takie jak pamięć, użycie procesora, ilość przesyłanych danych potrzebnych do jego uruchomienia i działania były jak najmniejsze. Działaniami w tym zakresie są optymalizacja kodu wynikowego, wybór wydajniejszych algorytmów i kodowania danych.