How can I update a horizon to tie markers at wells?
There are two approaches to this:

Shift the entire horizon by some constant
 Find an average shift to apply to the entire horizon

Shift the horizon by a spatially varying value
 Find a local shift to apply in regions around the wells
Constant Shift
 Calculate the difference between this value and the average horizon depth, then use the Horizon Operation / Ghost to create a shifted version. Read about the Ghost(horizon) operation.
Spatially Varying Shift
The other approach, which works nicely if the horizon is picked consistently, is to vary the shift spatially depending on the difference at each well. Use the following workflow:
 Create a horizon from the well markers. Give it a name e.g. "markerHorizon".
 Use a sparse increment e.g. 500m.
 Set the smoothing power to 1 or 2.
 Comparing original horizon to marker horizon.
 Calculate the difference between the horizon and the marker horizon "difference". Read more about Horizon Maths operation.
 Use the Horizon Maths operation and use the formula: a  b (where a is your horizon and b is the Â markerHorizon).

Use the Smooth operation on the "difference" horizon.
 Use a large radius e.g. 500m or larger.
 Larger smoothing values take longer, but preserve the character of the original horizon better.
 Click the Smooth button and save the result e.g "smoothedDifference".
 Add the smoothed result to the original horizon.
 Select the Horizon Maths operation again.
 Use the formula: a  b (with a being your horizon and b being the just created smoothedDifference horizon.)
 Click Run and save the new horizon.
 The resulting horizon should closely tie the markers at each of the wells. Note the is greater distortion of the original horizon when the correction values are large.