  The Prokof'ev Svistunov worm algorithm was originally developed for models
with nearest neighbor interactions that in a high temperature expansion are
mapped to systems of closed loops. In this work we present the surface worm
algorithm (SWA) which is a generalization of the worm algorithm concept to
abelian Gauge-Higgs models on a lattice which can be mapped to systems of
surfaces and loops (dual representation). Using Gauge-Higgs models with gauge
groups Z(3) and U(1) we compare the SWA to the conventional approach and to a
local update in the dual representation. For the Z(3) case we also consider
finite chemical potential where the conventional representation has a sign
problem which is overcome in the dual representation. For a wide range of
parameters we find that the SWA clearly outperforms the local update.
