Why searchSolutions() return 2 solutions?

    Collection<VehicleRoutingProblemSolution> solutions = vra.searchSolutions();
    VehicleRoutingProblemSolution vrs = Solutions.bestOf(solutions);

why searchSolutions return 2 solutions? Who it works? Can i increase number of solutions?

By default, Jsprit memorize 1 solution through the solve.
This one is replaced once a new one is accepted (better or worst depend on the strategy).

On a otherside Jsprit save the overall best solution ever found.

At the end of the search it merge the result of those two mechanisms.

The memory can be edited, through the xml algorithm
or by code as in the example

Any plans to put this property as parameter of jsprit box algorithm? I want to change some possible solutions and get that with better cost…

As @braktar wrote, by default the best solution is memorized, thus, if you change your solution somehow and it is better than existing solution, you will find it in memory.