More profitable solution

I can change objective function to use (cost - profit). But I need a way to randomize unassigned jobs, this way probably I could have the solution more profitable. This randomized unassigned jobs could be for example maxjobs on solutions or max routes. Is possible to do a hardconstraint with this params?

I think that you not only need to change the objective, but you also need to change insertion strategies. Currently, an unassigned job is inserted according to its marginal insertion costs (i.e. additional costs when inserting this job). If you are interested in profits, you need to insert them according their marginal profits (i.e. additional profits) and here you usually do not only need costs but also revenues. If revenue is equal for each job, you can stick to this marginal cost approach. If not, you need to modify it accordingly.