Identify the minimum number of rows in a matrix meeting a condition

J
Jeremiah · Jul 20, 2020 · 2K views
Question
Please assume that I have a matrix as follows:   A = [0 1 0 0 1 1 0 0 0 0 1 0 0 0 0 1 1 0 1 1] I would like to identify and selcet the minimum number of rows that have value of one in all columns (altoghether). For example, rows 2 and 5 are the best choice for matrix A. Do you have any suggestion?
Expert Answer
Profile picture of Neeta Dsouza
Neeta Dsouza PhD Expert
Answered Nov 20, 2025

This solution uses the Optimization Toolbox, although I am still only half certain what row-selection rule you are looking for

 

 [m,n]=size(A);
 
 irp=1:m;
 rp=randperm(m); %row permutation
 irp(rp)=irp;    %inverse permutation
 
 Ap=A(rp,:);

 x=optimvar('x',[1,m],'LowerBound',0,'UpperBound',1,'Type','integer');
 
 prob=optimproblem('Objective',sum(x));
 prob.Constraints=(x*Ap>=ones(1,n));
 
  sol=solve(prob);

  selection=find(round(sol.x(irp)));
100% Run Guarantee 3-Hour Fast-Track Delivery

Need a Custom Version or Complete Simulation for This Problem?

Our 500+ PhD engineers build, debug, and optimize working MATLAB scripts and Simulink (.slx) models tailored to your exact assignment rubrics with zero plagiarism.

Tested on MATLAB R2024b / R2026a
Turnitin 0% Plagiarism Report
Free 7-Day Revisions Guarantee
Have a different question? Ask here

Get a Free Consultation or a Sample Assignment Review!