code: def test_options(self):
      # cost and distance matrices of QAPLIB instance chr12c
      A, B, opt_perm = chr12c()
      n = len(A)
  
      # check that max_iter is obeying with low input value
      res = quadratic_assignment(A, B, options={"maxiter": 5})
      assert_equal(res.nit, 5)
  
      # test with shuffle
      res = quadratic_assignment(A, B, options={"shuffle_input": True})
      assert_(11156 <= res.fun < 21000)
  
      # test with randomized init
      res = quadratic_assignment(
          A, B, options={"rng": 1, "P0": "randomized"}
      )
      assert_(11156 <= res.fun < 21000)
  
      # check with specified P0
      K = np.ones((n, n)) / float(n)
      K = _doubly_stochastic(K)
      res = quadratic_assignment(A, B, options={"P0": K})
      assert_(11156 <= res.fun < 21000)
  
imports: import pytest
  import numpy
  from scipy.optimize import quadratic_assignment, OptimizeWarning
  from scipy.optimize._qap import _calc_score
  from numpy.testing import assert_equal, assert_, assert_warns
label_desc: Use image node_id 1 for calling the TestFAQ obj's underlying member method code with example usage: obj.test_options() without return types