2 votes

Programmation en nombres entiers pour NNC

J'essaie d'implémenter la programmation en nombres entiers pour un classificateur de type Nearest Neighbor en Python, en utilisant les éléments suivants cvxpy .

Brève introduction

Étant donné un ensemble de données de n Nous voulons choisir le nombre minimal de points candidats, c'est-à-dire que pour chaque point qui n'est pas candidat, son plus proche candidat a la même couleur.

Mon flux

Étant donné un ensemble de n des points (avec des couleurs) définissent un vecteur indicateur I ( |I| = n ),

I_i = 1 if and only if vertex i is chosen as a candidate

En outre, j'ai défini deux vecteurs supplémentaires, nommés comme suit A y B ( |A| = |B| = n ) comme suit :

A_i = the distance between v_i to it's closest candidate with the **same** color

B_i = the distance between v_i to it's closest candidate with a **different** color

Par conséquent, j'ai n les contraintes qui sont : B_i > A_i pour tout i

Mon objectif est de minimiser la somme des vecteurs I (qui représente le nombre de candidats)

Mon problème

Il semble que les vecteurs A , B changent parce qu'elles sont affectées par I car lorsqu'un candidat est choisi, cela affecte son entrée dans la base de données de l'UE. I qui affecte A y B et les contraintes dépendent de ces vecteurs

Des suggestions ?

Merci !

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X