Surgical scheduling under uncertainty by approximate dynamic programming