planningaproduction systemisefficientandeffective when thefeatures, capabilitiesand limitations ofthe system checked well and also the desired criteria andpriorities considered in the program clearly. One of the most influential factors in productivity of a production system is the preventive maintenance activities which is usually performed preventative and programmed. Preventive maintenance is a method for improving the performance of equipment which is performed to prevent random failure. Maintenance activities take times and costs and therefore should be considered in the production planning process. It is clear that when the process of preventive maintenance scheduling and production planning is done independently, the production planning would not be optimal. In this study, the simultaneous production and preventive maintenance programming in a multi-machine and multi-product environment defined and solved.Also, due to reduce production costs, considering possibility of setup transference between periods added to the model for products and the other hand with considering overtime and subcontracts is satisfied the possibility of achieve the goal to supply the demand in each period despite production capacity constraints. in order to maintain the desired level of manufacturing system reliability, preventive maintenance scheduled for each machine. Also, it is considered thatnon-timely implementationofpreventivemaintenanceoperations, resulting inthe imposition offine for decreasingthe reliability ofthesystem. in this study, the model is developed for the state of K out of M parallel machines. The objective is to determine production plan (assigning and sequencing) for parallel machines and also scheduling the maintenance activities for manufacturing system.The overall cost of the system over the entire horizon is the sum of production costs, corrective and preventive maintenance costs, setup costs, inventory holding costs, lagged order costs (backorder), overtime costs, outsourcing costs and cost associated with decreasing the system reliability from the predetermined specified level. In this study first amixedinteger non linearprogramming modelforthisproblemis presented. Thenregarding thecomplexity of the problem, a method of solvingmeta-heuristicbased genetic algorithmis proposed.Comparison theresults ofrunning the genetic algorithmwiththe solution ofsoftwareGAMSwith DICOPT solver showed the high performance of genetic algorithm both in terms ofquality of a solutionandthesolution time.