1. A method for preprocessing a problem involving discrete optimization over a plurality of variables, the method comprising: obtaining, using a digital computer, an indication of a problem involving discrete optimization; converting, using the digital computer, the problem involving discrete optimization into a problem suitable for a given optimization oracle architecture of an optimization oracle; providing, using the digital computer, a given number of times M the problem suitable for the given optimization oracle architecture to the optimization oracle; for each providing of the problem, performing, using the optimization oracle, a given number K of call to the optimization oracle, each call to the optimization oracle generating a given configuration; obtaining, using the digital computer, a variable selection criterion, the variable selection criterion for determining at least one variable of the plurality of generated configurations to be fixed; determining, using the digital computer, at least one variable that matches the variable selection criterion and a corresponding value for each variable; fixing, using the digital computer, the at least one determined variable at the corresponding value in the problem involving discrete optimization to thereby preprocess the problem to generate at least one subproblem; and providing, using the digital computer, an indication of the at least one generated subproblem and an indication of the at least one fixed variable.