An optimization algorithm is a procedure that iteratively modifies a candidate solution to a problem so as to minimize or maximize a objective function. Parameters include the search space, the objective function, the update rule (e.g. gradient descent, simulated annealing, genetic algorithm), and the stopping criterion. The algorithm persists through implementation in software libraries, documentation in the scientific literature, and deployment in engineering practice. Optimization algorithms extend human capacity to find good solutions in spaces too large for brute-force enumeration, and they serve as the engine of training in machine learning, scheduling in operations research, and design in engineering.
[formal: optimus | substrate: mind | horizon: hours | explicit: yes | epoch: 0.01]