IBM CP Optimizer (http://www-01.ibm.com/software/commerce/optimization/cplex-cp-optimizer/index.html)
This tool aims at solving industrial scheduling problems involving much more complex constraints that in the job-shop scheduling problem but if we focus on classical job-shop scheduling:
1) The model of the problem is quite easy. Here is the model itself (using the Optimization Programming Language):
dvar interval op[j in Jobs][p in Pos] size Ops[j][p].pt; // Variable op[j][p] is the pth operation of job j
dvar sequence mchs[m in Mchs] in all(j in Jobs, p in Pos : Ops[j][p].mch == m) op[j][p]; // Operations on machine m
minimize max(j in Jobs) endOf(op[j][nbPos-1]);
subject to {
forall (m in Mchs)
noOverlap(mchs[m]);
forall (j in Jobs, p in 1..nbPos-1)
endBeforeStart(op[j][p-1], op[j][p]);
}
2) The automatic resolution:
2a) is an exact algorithm (it will find the optimal solution and prove its optimality if you let it run long enough)
2b) quickly comes up with very good quality solutions
2c) can scale to large problems involving several thousands of operations
As an example, 15 classical job-shop scheduling instances were closed using CP Optimizer in 2015 [1]
3) The tool is part of IBM ILOG CPLEX Optimization Studio (http://www-03.ibm.com/software/products/en/ibmilogcpleoptistud) and it is free of charge for academics in the context of IBM's Academic Initiative (https://developer.ibm.com/academic/)
[1] P. Vilím, P. Laborie and P. Shaw. "Failure-Directed Search for Constraint-Based Scheduling". Proceedings CP-AI-OR 2015.
IBM CP Optimizer can easily handle sequence-dependent setup times on unary resources. There is the concept of a 'transition distance' matrix between activity types. For instance in the model above if SetupMatrix[m] is a setup time matrix of machine m you would just replace the noOverlap constraint noOverlap(mchs[m]) by noOverlap(mchs[m],SetupMatrix[m]).
I really appreciate your help. thank you again. if by chance you know of a manual or video on how to used the software (if is posible directly for this scenario)
Lekin may be adecuate, it has its limitations (the developers also have an industrial version that you could ask). Cplex its the best. You could try also GAMS.
But i think that what you are looking for is this: