In general, this type of problem is called a regression problem since the target variable (i.e. travel time) can take any value in a continuous domain. In theory, you can use any regression algorithms (a subset supervised learning techniques) to solve this problem. Some of the most popular ones are linear regression, K-nearest neighbor (regressor), and neural networks.
As you observed already, different algorithms result in (sometimes significantly) different results. Also, the parameter configurations (e.g., number of hidden layers in Neural Networks) can make a big difference. Sometimes, ensembling different models can be helpful, but in general, you should try to avoid overfitting (when your model is more complex than your data such that it memorizes the training set instead of learning it!). That may result in a very good performance on your training set but perform very poorly on your professor's testing set.
What I would do is:
- exploring the dataset to see what are the contributing factor in travel time (any correlation between the columns).
- cleaning and preprocessing my dataset (duplicates, null values, outliers)
- reshaping my dataset if needed (normalizing some columns, merging or splitting columns)
- dividing my dataset to training and evaluation subsets (so I train on one part and test on the other part to avoid overfitting)
- choosing a simple baseline, applying and measuring the accuracy metrics.
- trying to fine tune parameters of my baseline or trying other more advanced techniques.
- comparing the results and improving any part of the pipeline when necessary (more/less cleaning, parameter tuning, ensembling).