/**
* Create an empty PBQP instance with the given number of nodes.
*/
-pbqp* alloc_pbqp(int number_nodes);
+pbqp* alloc_pbqp(unsigned number_nodes);
/**
* Free the given PBQP.
/**
* Add costs vector to given node.
*/
-void add_node_costs(pbqp *pbqp, int node_index, vector *costs);
+void add_node_costs(pbqp *pbqp, unsigned node_index, vector *costs);
/**
* Add costs matrix between given nodes.
*/
-void add_edge_costs(pbqp *pbqp, int src_index, int tgt_index, matrix *costs);
+void add_edge_costs(pbqp *pbqp, unsigned src_index, unsigned tgt_index, pbqp_matrix *costs);
+
+pbqp_edge *get_edge(pbqp *pbqp, unsigned src_index, unsigned tgt_index);
+pbqp_node *get_node(pbqp *pbqp, unsigned index);
+
+num get_node_solution(pbqp *pbqp, unsigned node_index);
+num get_solution(pbqp *pbqp);
+
+void set_dumpfile(pbqp *pbqp, FILE *f);
#endif /* KAPS_KAPS_H */