yaml file is good place to set the initial point.
The robot starting point should be as close to as possible to the defined initial point.
Amcl performance depends on the accuracy of this setup.
To dynamically set new initial point you could use
initialpose topic with message
geometry_msgs/PoseWithCovarianceStamped. When message is published on this topic,
amcl restarts localization from this point.