주어진 상황에서 원하는 가장 알맞은 결과를 얻을 수 있도록 처리하는 과정.
최적화는 허용된 자원의 한계 내에서 주어진
요구사항을 만족시키면서 최선의 결과를 얻는 과정이다. 수익과 관련되는 분야에서는 이익을 최대로 내는 과정을 말하기도 한다. 다양한 분야와 경우에 따라 다르게 정의할 수 있고 물류(logistics), 설계(design) 문제 등에 응용된다.
수학(Mathematics)에서
최적화는 어떤 제약 조건이 있을 수도 있고 없을 수도 있는 상황에서 함수의 최댓값 또는 최솟값을 찾는 것이다.
전산학(computer science)에서
최적화는 실행 속도를 높이고 원하는 결과를 도출하며 메모리 소모량을 줄이는 방향으로 시스템을 개선하는 과정이다. 일반적으로 시스템이 사용하는 자원의 소모를 줄이거나 시스템 성능을 향상하여 시스템 효율을 높이는 것을 의미한다. 이때 시스템은 단 하나의 컴퓨터일 수도 있고, 여러 대가 모인 형태일 수도 있고, 인터넷 같은 전체 네트워크일 수도 있다.
경영과학(management science)에서
최적화는 어떤 값을 최소 또는 최대로 하는 함수의 입력 값을 결정하는 문제다. 입력이 가질 수 있는 값에 어떤 제약들이 있는 문제를 제한된
최적화(constrained
optimization) 문제라고 한다.
컴퓨터 프로그래밍에서
최적화는 더욱 효율적인 소프트웨어를 만들기 위해 주어진
컴퓨터 구조의 코드(code)와 컴파일 세팅을 변경하는 것을 의미한다.
컴파일러(compiler)
최적화는 컴파일러에서 출력되는 실행 프로그램의 효율성을
최적화하는 과정이다. 주로 프로그램의 실행 속도를 최대화하거나 프로그램이 차지하는 메모리양을 최소화하기 위해 사용된다.
제한된 용량의 배터리를 사용하는
휴대용 컴퓨터(
portable computer)에서 소비 전력을 최소화하는 것도
최적화 대상이 될 수 있다.
무선통신이나
이동통신 시스템에서
최적화는 시스템을 최적의 성능이 발휘되도록 조정·설정하는 것이다.