A non-transitory computer-readable storage medium that stores a program for causing a computer to repeatedly update a first vector, which has a first variable as an element, and a second vector, which has a second variable corresponding to the first variable as an element, the program comprising:
- a step of updating the first vector by weighted addition of the corresponding second variable to the first variable;
- and
- a step of updating the second vector by weighting the first variable with a first coefficient that monotonically increases or monotonically decreases depending on a number of updates, adding the weighted first variable to the corresponding second variable, calculating a problem term using a plurality of the first variables, and adding the problem term to the second variable,
- wherein the computer is caused to repeat updating of the first vector and the second vector, then initialize the second variable of the second vector using a pseudo random number, and then repeat updating of the first vector and the second vector again.