Reversing the input and output of an ML algorithm to Optimize
The problem is a bit vague but here a couple ideas:


Just use the Y variables as features and predict the X variables. The most basic option is to consider every Xi as independent of the others, and train an independent model for each of them. A more advanced approach is to train a joint model which predicts all the Xi together (i.e. the class would be for instance "1,1,0"), but this probably requires a lot more data.
In the idea of optimization techniques, there might be some way to use genetic learning in order to obtain the optimal X values given the Y values. However I don't see how to design the population with many different Y combinations, but maybe it's possible.