This sounds a lot like a linear optimisation problem: given certain resources and constraints, maximise profit. If you are new to this, check out some of these resources:
Machine learning is generally an approach to model and understand data, hopefully in such a way as to allow us to make predictions in the future, given some data that is representational of past observations. It more often than not considers a dynamic world and non-linear functions: given the state of the world, what should the ticket price be? Practically speaking, selling tickets doesn't work that way - it would be very confusing for customers if ticket prices always change! One more point that would concern me with your specific problem, is that your variables (ticket price, frequency of trains etc.) are not mutually exclusive from the number of tickets sold. If you just make each ticket cost $1000 dollars each, profit would be zero, because nobody would by a ticket. What I want to say is: we're not classifying cats and dogs here :-)
With your problem and using machine learning, I would be more inclined to try answering questions such as:
- How many passengers can we expect next Saturday?
- Which are peak travel times in a certain region?
- which factors should we improve to increase customer feedback scores?
Maybe you can try looking at one of these approached to help in the optimisation, i.e to help find your linear constraints.
One can of course attempt to frame it as a pure machine learning model, and there are many ways of doing this; it is optimisation, after all. I think the first step, whether using some machine learning algorithm or a linear optimisation construction, is to understand your data, the effects of each factor and their relationship to your target variable to be maximised/minimised (profit/loss, respectively).
So, as I was told back when learning about this myself: "The first step is to translate words into linear inequalities". So you could think about the factors you have and understand which ones effect price. If there are constraints/limitations, these should also be considered. For example, if you know that you are not allowed to sell more than 10,000 tickets on one day due to capacity constraints of your system.
There are some interesting points made in this thread over on Cross-Validated.
Now you understand the data a little better, you could think about which models to try out. Without knowing more about your data, I can't really offer more guidance as to which models might be worth trying, but hopefully this answer helps you along that path.